I have a DSA private key exported using the DSACryptoServiceProvider.ToXmlString, and I need to convert it to PEM format ("file.pem"), so I can open it in PHP using openssl_pkey_get_private function.
How do I accomplish this?
The solution can use DSACryptoServiceProvider.ExportCspBlob method if it's of any help, I just need to convert the key.
Using the bouncycastle C# library class DotNetUtilities, it is fairly easy.
DSACryptoServiceProvider dsa = new DSACryptoServiceProvider(1024);
AsymmetricCipherKeyPair dsaKey = DotNetUtilities.GetDsaKeyPair(dsa);
using (StreamWriter sw = new StreamWriter("dsa.pem"))
{
PemWriter pw = new PemWriter(sw);
pw.WriteObject(dsaKey);
}
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With