找不到请求的对象。何时创建X509certificate2

时间:2016-07-15 07:45:45

标签: c# cryptography x509certificate

我正在尝试使用以下代码创建带有private_key字符串的 X509Certificate2

 byte[] key = Convert.FromBase64String(private_key);
 X509Certificate2 certificate = new X509Certificate2(key);

当最后一行执行时,抛出以下异常:

  

System.Security.Cryptography.CryptographicException找不到请求的对象

有人知道如何解决这个问题吗?

1 个答案:

答案 0 :(得分:0)

私钥通常不是X.509证书的形式。您可以将其作为PFX或P12文件找到,您应将其导入X509CertificateCollection以将私钥作为X509Certificate实例。

另一种选择(如果您拥有的私钥是PFX或P12文件的形式)是将私钥加载到Windows本地证书存储区,然后使用X509Store类加载它将私钥作为X509Certificate实例提供。

由于您有一个PEM文件,请参阅此Convert a CERT/PEM certificate to a PFX certificate了解如何将其转换为PFX文件。