虚拟智能卡实现

问题描述:

我目前正在写一个愚弄应的OS相信有一个PKCS#11兼容的智能卡插入一个应用程序,然后向前PKCS#11请求到服务器。 我偶然发现了这个项目https://frankmorgner.github.io/vsmartcard/virtualsmartcard/README.html这看起来很有希望,但我想知道如果有一个简单的解决方案这样做呢?虚拟智能卡实现

非常感谢你的帮助。

+0

你真的需要一个虚拟的智能卡?使用你的服务器作为后端来实现pkcs11接口可能要简单得多(而且更有意义)... – vlp

+0

的确很简单^ ^。我的主管同意在DLL中实现pkcs#11接口,这让我的生活变得更加轻松。非常感谢 ! – lieblo

+0

如果PKCS#11被问及您是否是硬件设备,并且提供某些令牌插入/删除技巧,您可能不得不“撒谎”一下。但否则不需要硬件。 PKCS#11是一个基于C的API,明确允许软件实现。 –

(在评论的讨论成绩单)

你并不需要一个虚拟的智能卡实现PKCS#11提供商。

所有你需要的是制定实现其充分利用服务器的PKCS#11 API库。

客户端则可以使用这个库的任何其他PKCS#11提供商。

祝你好运!

有几个PKCS#11代理人:https://github.com/ANSSI-FR/caml-crush例如或者看看这里:https://github.com/PeculiarVentures/graphene#related

而且重复的口头禅:有作为“PKCS#11兼容的智能卡”以同样的方式没有这样的事,没有“PC/SC兼容智能卡读卡器”。两者都是与硬件实施无关的主机端软件API-s。

+0

确实没有完全符合PKCS#11的智能卡,因为智能卡具有APDU作为接口,但它当然可以模仿PKCS#11功能。 –

+0

“......没有”兼容PC/SC的智能卡读卡器“抱歉,但是这显然是错误的,例如,对于USB,您可能需要CCID兼容设备,否则您需要提供PCSC兼容驱动程序*带*读卡器该驱动程序的可用性将指示读卡器是否兼容PCSC –

+0

正确的是,存在* CCID *兼容的智能卡读卡器,但无论MS暗示什么,也不存在“PC/SC“兼容*阅读器*(不含驱动程序) –