Linux 友好的 C# 中的智能卡 API

Posted

技术标签:

【中文标题】Linux 友好的 C# 中的智能卡 API【英文标题】:Smartcard API in C# that's Linux Friendly 【发布时间】:2011-07-17 11:26:54 【问题描述】:

我目前有一个在 Windows 中使用 P/Invokes 调用智能卡 API 的项目;但是,由于我现在已经将该项目开源并将其放在 Google Code 上,因此我有兴趣使其适用于 Mono 上的 Linux 窥视者。

然而,这样做的障碍是智能卡代码;我对在 Linux 下与智能卡交谈的熟悉程度绝对为零,而且 Google 搜索也没有发现任何启发性的内容。

【问题讨论】:

【参考方案1】:

嗯,我找到了答案; PCSC-lite 以兼容的格式实现了整个 WinSCard API,所以我需要做的就是将一个小的 .exe.config 与程序捆绑在一起,这样 mono 就可以将 WinSCard.dllDllImport 替换为 pcsclite.so.1 在运行时,一切都开箱即用。

【讨论】:

您好 Olipro,您能否详细说明 .exe.config 解决方案? (如果可能,请包含一些示例代码)【参考方案2】:

我认为PCSC 是您正在寻找的。没用过,因为我不需要处理 Mono/Linux,虽然我不能给你任何细节。

【讨论】:

刚才看了源码,发现根本不是跨平台的;它还使用 P/Invoke 到 WinSCard.dll;没有迹象表明有人打电话给肌肉卡,所以我认为这是一个被放弃的 WIP。

以上是关于Linux 友好的 C# 中的智能卡 API的主要内容,如果未能解决你的问题,请参考以下文章

C#开发学习人工智能的第一步

使用 C# 从 PKI 智能卡读取证书

C# 中的后台智能传输服务

如何在 Java 中与智能卡交互?

Visual Studio 2012 中的普通 C# 编辑器(无智能感知、无缩进、无代码突出显示)

在 C# 中清除智能令牌的 Pin 缓存