我有两张保存到磁盘的证书。一个是带有私钥的证书,我将其作为.pfx文件导出,另一个是我保存的证书,包括其证书链作为PKCS#7文件(“certchain.p7b”)。
在C#中,我现在可以使用
加载.pfx文件 var cert = new X509Certificate2(myPfxFileStream);
(myPfxFileStream是对{.pfx文件打开的FileStream
用于阅读),但是在CryptoGraphicException
“Der Indexwertistungültig”中尝试使用PKC#7证书时失败,这转换为“索引值无效”。
我假设我必须以不同的方式解析PKCS#7(它包含一个链,而不是一个证书!),但是如何?
(哦,顺便说一下:目前我没有关于那些证书的密码)
答案 0 :(得分:8)
您需要使用SignedCms
命名空间中的System.Security.Cryptography.Pkcs
类。
此博客条目将向您展示如何使用该课程:
http://blogs.msdn.com/shawnfa/archive/2006/02/27/539990.aspx
你基本上会调用Decode
方法,传递代表PKCS文件的字节。