不废话,直接贴代码
Windows的X509Certificate2 转BC的X509Certificate
<span style="white-space:pre"> </span>Org.BouncyCastle.X509.X509CertificateParser x509CertParser= new Org.BouncyCastle.X509.X509CertificateParser();
X509ContentType x509Type = X509ContentType.Cert;//到处cer格式的证书
X509Certificate2 x509Cert2 = Key.GetCertificateFromStore("subjectname");
Org.BouncyCastle.X509.X509Certificate x509bc;
//System.Security.Cryptography.X509Certificates.X509Certificate2.Export();
Org.BouncyCastle.X509.X509Certificate x509CertTest = x509CertParser.ReadCertificate(x509Cert2.Export(x509Type));
相反
<span style="white-space:pre"> </span>X509Certificate2 x509Cert3 = new X509Certificate2();
x509Cert3.Import(x509CertTest.GetEncoded());//<span style="font-family: Arial, Helvetica, sans-serif;">x509CertTest 就是上面的bc中的</span><span style="font-family: Arial, Helvetica, sans-serif;">x509CertTest</span>
上面就完成了双方的互相转换