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

nam*_* do 5 c# cryptography x509certificate

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

 byte[] key = Convert.FromBase64String(private_key);
 X509Certificate2 certificate = new X509Certificate2(key);
Run Code Online (Sandbox Code Playgroud)

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

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

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

Tim*_*nem 2

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

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

既然您有 PEM 文件,请参阅将 CERT/PEM 证书转换为 PFX 证书,了解如何将其转换为 PFX 文件。