2015-10-09 189 views
-3

任何人都可以帮助如何从C#和BouncyCastle中的.p7b文件中提取证书吗?如何从.p7b文件获取证书

+2

您是否有任何示例代码至少有某种尝试? – Yoink

+0

我试图使用下面的代码从本地存储获取证书。但是现在想要从.p7b文件读取。 –

回答

-1
var certificateStore = new CmsSignedData(new FileStream("chain.p7b", FileMode.Open)); 
IX509Store x509Certs = certificateStore.GetCertificates("Collection"); 
ArrayList a = new ArrayList(x509Certs.GetMatches(null)); 
X509Certificate signerCert = (X509Certificate) a[0]; 

var gen = new CmsSignedDataGenerator(); 
gen.AddCertificates(x509Certs); 
gen.AddSigner(_privateKey, signerCert, CmsSignedGenerator.DigestSha1); 

CmsProcessable msg = new CmsProcessableByteArray(Encoding.ASCII.GetBytes(FullUnsignedMessage)); 

CmsSignedData signedData = gen.Generate(msg, true); 
+0

我想通了。请看答案。 –

+0

你应该描述你的答案,而不只是提供代码。除此之外,在我看来,只有前三句话才会提出这个问题。 –