将X509Certificate2证书转换为BouncyCastle X509Certificate

hab*_*aki 11 c#

我有一个System.Security.Cryptography.X509Certificates.X509Certificate2的对象.我需要将它转换为Org.BouncyCastle.X509.X509Certificate的对象.

有人可以帮我吗?

Mar*_*den 19

使用Org.BouncyCastle.Security.DotNetUtilities.FromX509Certificate,取一个System.Security.Cryptography.X509Certificates.X509Certificate并返回一个Org.BouncyCastle.X509.X509Certificate.

  • 谢谢!工作得很好.FromX509Certificate也采用System.Security.Cryptography.X509Certificates.X509Certificate2对象,因为X509Certificate2派生自X509Certificate(为像我这样的新手添加此对象) (2认同)

Ric*_*der 17

我和Bouncy Castle一起玩了一段时间.基本上采用X509Certificate2.RawData并将其传递给BC X509Certificate构造函数.

如果我没记错的话,BC有一个Org.BouncyCastle.Security.DotNetUtilities.这应该允许您导入证书.

  • 是的BC .Net记录很少,但它具有您想要的所有加密功能.我通过阅读源代码,特别是单元测试来学习它.祝好运. (2认同)

Tad*_*kys 6

这是我如何做到的(BouncyCastle.Crypto 版本 1.8.1.0):

var cert = new Org.BouncyCastle.X509.X509CertificateParser()
    .ReadCertificate(x509Certificate2.GetRawCertData());
Run Code Online (Sandbox Code Playgroud)

在其他答案中Org.BouncyCastle.Security.DotNetUtilities.FromX509Certificate(X509Certificate)也提到了作品。