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

时间:2016-02-16 16:13:54

标签: c# security openssl ssl-certificate 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); 

非常欢迎任何建议:)

2 个答案:

答案 0 :(得分:0)

最后,我们可以使用它将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

感谢大家的帮助:)

答案 1 :(得分:0)

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

不,严重的是,它仅在一行中完成:

private static Map<Integer, String[]> holes = new HashMap<Integer, String[]>();

private static String[] hole1 = {"name", "Distance", "Par"};
holes.put(1, hole1);
private static String[] hole2 = {"name", "Distance", "Par"};
holes.put(2, hole2);

其中public static String[] getHole(int holeNumber){ return holes.get(holeNumber); } String pem = "-----BEGIN CERTIFICATE-----\r\n" + Convert.ToBase64String(cert.RawData, InsertLineBreaks) + "-----END CERTIFICATE-----"; 个对象。