如何从证书私钥导出RSA参数?错误:“不支持请求的操作”

时间:2019-04-12 15:41:54

标签: c# cryptography certificate rsa pfx

我花了一整天的时间来解决我的问题。希望对您有所帮助。 我有一个* .pfx证书,需要将其另存为pem文件。问题是我无法导出私钥来使用密钥写入pem文件:

var certif = new X509Certificate2("C:\\Users\\certif.pfx", "123", 
    X509KeyStorageFlags.Exportable | X509KeyStorageFlags.MachineKeySet | 
    X509KeyStorageFlags.PersistKeySet);
var rsaKey = certif.GetRSAPrivateKey();
var parameters = rsaKey.ExportParameters(true);

存在错误{“不支持请求的操作。\ r \ n”} 方法ExportParameters中的{Byte [] ExportKey(Microsoft.Win32.SafeHandles.SafeNCryptKeyHandle,System.String)}。如果我写“ false”属性就可以。

如果我使用

var rsaKey = (RSACryptoServiceProvider)cert.PrivateKey;
var parameters = rsaKey.ExportParameters(true);

它也不起作用,获取私有密钥时出现错误“指定了无效的提供程序类型”。

非常感谢您的帮助!

0 个答案:

没有答案