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