我正在C#4中制作一个必须签署XML文件的应用程序。在遇到这个问题之前,我不会遇到什么大问题:访问智能卡/ token 以获取其证书和私钥。
没什么特别的,只需根据密码获取证书和 key 即可。
没有人知道如何在没有任何付费框架的情况下做到这一点吗?
最佳答案
Microsoft Crypto API支持开箱即用与硬件设备进行交互的功能。不过,这将要求您的卡具有制造商提供的驱动程序。根据卡和操作系统的不同,驱动程序可能已经为您下载了。下面的.NET文章至少应该帮助您入门,并了解您是否可以立即使用某些MSoft API。 http://msdn.microsoft.com/en-us/library/ms229931.aspx。
如果您有关于所用卡类型的其他信息,则可以使用PC/SC和特定的APDU命令要求该卡为您签名或加密信息。出于安全原因,卡小程序通常不允许检索证书私钥。
祝你好运。如果您对此还有其他疑问,请添加评论。
关于c# - 从pkcs#11 token 或智能卡访问证书和私钥,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8422617/