Преобразование асимметричного ключа DSA in.NET Формат XML в формат PEM


У меня есть DSA закрытый ключ, экспортированный с помощью DSACryptoServiceProvider.ToXmlString, и мне нужно преобразовать его в формат PEM ("файл.pem"), чтобы я мог открыть его в PHP с помощью функции openssl_pkey_get_private.

Как мне это сделать?

Решение может использовать метод DSACryptoServiceProvider.ExportCspBlob, если это поможет, мне просто нужно преобразовать ключ.

Author: Paya, 2010-07-26

1 answers

Используя класс библиотеки bouncycastle C# DotNetUtilities, это довольно просто.

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);
}
 10
Author: James K Polk, 2010-07-27 00:21:51