我尝试用C#从我的PKI智能卡读取证书。 我读到当我将智能卡插入读卡器时,证书会从智能卡复制到计算机上的证书存储中。
但是,当我检查证书库的不同区域(My,AuthRoot,Root,...)中的证书数量时,我得到相同的号码,它确实 无论是否插入智能卡都无关紧要。
以下是我检查商店证书数量的方法:
var myStore = new X509Store(StoreName.AuthRoot, StoreLocation.CurrentUser);
myStore.Open(OpenFlags.ReadOnly | OpenFlags.OpenExistingOnly);
var count = myStore.Certificates.Count;
那么如何访问智能卡上的证书以验证私钥?
谢谢和亲切的问候 Friedhelm Drecktrah
答案 0 :(得分:0)
这取决于卡片类型。在本机卡(具有文件系统的卡)上,每个证书只是存储在一个文件中,可以使用标准命令读取,很可能是 READ BINARY 。要查找文件ID,您通常需要查看支持信息,例如您的卡提供的PKCS-11或PKCS-15 / ISO 7816-15目录文件。如果有多个证书,您必须为此目的解决(通常也在文件中)。