【发布时间】:2011-12-07 21:11:52
【问题描述】:
我正在用 C#4 编写一个必须签署 XML 文件的应用程序。在遇到这个问题之前,我不会遇到什么大问题:访问智能卡/令牌以获取其证书和私钥。
没有什么开箱即用的,只需根据密码获取证书和密钥。
有没有人知道如何在没有任何付费框架的情况下做到这一点?
【问题讨论】:
标签: c# c#-4.0 smartcard pkcs#11
我正在用 C#4 编写一个必须签署 XML 文件的应用程序。在遇到这个问题之前,我不会遇到什么大问题:访问智能卡/令牌以获取其证书和私钥。
没有什么开箱即用的,只需根据密码获取证书和密钥。
有没有人知道如何在没有任何付费框架的情况下做到这一点?
【问题讨论】:
标签: c# c#-4.0 smartcard pkcs#11
Microsoft Crypto API 支持与开箱即用的硬件设备进行交互。这将要求您的卡具有制造商提供的驱动程序。根据卡和操作系统,驱动程序可能已经为您下载。下面的 .NET 文章至少可以帮助您入门,看看您是否可以使用一些开箱即用的 MSoft API。 http://msdn.microsoft.com/en-us/library/ms229931.aspx.
如果您有关于您正在使用的卡类型的其他信息,您可以使用 PC/SC 和特定的 APDU 命令来要求卡为您签名或加密信息。出于安全原因,卡片小程序通常不允许检索证书私钥。
祝你好运。如果您对此还有其他疑问,请添加评论。
【讨论】: