使用 OpenSSL-Net 将 .der 转换为 .pem

Convert .der to .pem using OpenSSL-Net

我有一个二进制编码的 .der 证书,需要在 .net 中以编程方式将其转换为 .pem 文件

此行在 OSX:

上使用 OpenSSL 给出了正确的输出
openssl x509 -inform der -in cert.crt -out cert.pem

但我们需要在 .net 中做同样的事情

我们尝试了很多解决方案,但完全卡住了。

像这样的东西行得通吗:

var oc = OpenSSL.X509.X509Certificate.FromDER(bio); 

非常欢迎任何建议:)

最后我们能够使用它来将 DER 导入到一个字符串中,然后我们可以将其导出到 PEM:

var oc = OpenSSL.X509.X509Certificate.FromDER(bio);

这些页面很有用:

https://github.com/openssl-net/openssl-net/blob/master/ManagedOpenSsl/X509/X509Certificate.cs

https://msdn.microsoft.com/en-us/library/system.security.cryptography.x509certificates.x509certificate2.rawdata

感谢大家的帮助:)

还在使用OpenSSL吗?我们来找你了!

不,说真的,它只用了 1 行就完成了:

String pem = "-----BEGIN CERTIFICATE-----\r\n" + Convert.ToBase64String(cert.RawData, InsertLineBreaks) + "-----END CERTIFICATE-----";

其中 cert 是一个 X509Certificate2 对象。