我在C#4中创建一个必须签署XML文件的应用程序。我没有遇到什么大问题,直到我碰到这一点:访问智能卡/令牌以获取其证书和私钥。
什么都没有开箱即用,只需获得证书和密钥,基于密码。
有没有人知道怎么做而没有任何付费框架?
答案 0 :(得分:5)
Microsoft Crypto API支持开箱即用的硬件设备交互功能。这将要求您的卡具有制造商提供的驱动程序。根据卡和操作系统,驱动程序可能已经为您下载了。以下.NET文章应该帮助您至少开始使用,看看您是否可以使用一些开箱即用的MSoft API。 http://msdn.microsoft.com/en-us/library/ms229931.aspx
如果您有关于所使用的卡类型的其他信息,您可以使用PC / SC和特定的APDU命令来要求卡为您签名或加密信息。出于安全原因,卡小程序通常不允许检索证书私钥。
祝你好运。如果您对此有更多疑问,请添加评论。