3
我有一个PKCS#7,签署,.p7b文件包含的X509 SSL证书,并与签署的中间和根CA证书。我需要用C#来解析.p7b文件,拔出SSL证书,并拉出一些值它关闭(终止日期,DN等)。解析没有私钥的PKCS#7 SSL证书链(.p7b)?
我试着读它作为像这样的X509证书:
//certContent is a byte array with the p7b file contents
X509Certificate2 cert = new X509Certificate2(certContent);
与常规.cer证书工作正常,但用的.p7b证书时抛出一个CryptographicException
。这是因为.p7b包含整个证书链。
我也尝试解析它作为一个SignedCms
对象,然后通过证书链迭代和退出我的SSL证书:
SignedCms certContainer = new SignedCms();
certContainer.Decode(certContent);
foreach(X509Certificate2 cert in certConatiner.Certificates)
{
...
}
然而抛出的Decode
说ASN1 bad tag value met
异常。经过一番搜索之后,我相信那是因为我没有用来创建证书和/或签署证书的私钥。
有谁知道我可以使用C#解析此的.p7b证书链?
这是什么exatly我有问题。您可以请分享从数据库中检索字节的代码部分,然后将其转换为X509Certificate?谢谢 – daehaai