Существует ли Microsoft API эквивалент следующего OpenSSL (извлекает private key из файла .pfx и сохраняет как новый файл)?
Microsoft API
OpenSSL
private key
.pfx
openssl pkcs12 -in mycert.pfx -nocerts -out mycert.key -passin pass:Password -passout pass:Password
Попробуйте это:
RSACryptoServiceProvider rsa = (RSACryptoServiceProvider)YOUR_CERTIFICATE.PrivateKey; MemoryStream memoryStream = new MemoryStream(); TextWriter streamWriter = new StreamWriter(memoryStream); PemWriter pemWriter = new PemWriter(streamWriter); AsymmetricCipherKeyPair keyPair = DotNetUtilities.GetRsaKeyPair(rsa); pemWriter.WriteObject(keyPair.Private); streamWriter.Flush(); string output = Encoding.ASCII.GetString(memoryStream.GetBuffer()).Trim(); int index_of_footer = output.IndexOf("-----END RSA PRIVATE KEY-----"); memoryStream.Close(); streamWriter.Close(); string PrivKey = output.Substring(0, index_of_footer + 29);