如何在c#中加载.pem证书?

时间:2016-06-07 18:33:42

标签: c# openssl x509certificate pem pfx

上下文

我有一个pfx证书文件。我可以使用以下代码将其成功加载到X509Certificate2类:

var path = "mycert.pfx"
var password = "mypassword";
var certificate = new X509Certificate2(path, password);

出于某些原因,我想使用.pem格式而不是二进制格式。所以我已经转换了我的" mycert.pfx"到了#mycert.pem"使用以下OpenSSL命令:

pkcs12 -in mycert.pfx -out mycert.pem -nodes

问题

如何以与成功加载mycert.pfx类似的方式加载转换后的mycert.pem?下面的代码给我一个CryptographicException,说"找不到请求的对象。" (注意:这不是关于找不到文件的io例外)

var path = "mycert.pem"
var password = "mypassword";
var certificate = new X509Certificate2(path, password);

1 个答案:

答案 0 :(得分:2)

Windows不支持PEM(Base64)格式的PKCS#12。您必须仅使用二进制编码的PKCS#12文件。