我有一个使用DSA导出的DSACryptoServiceProvider.ToXmlString私钥,我需要将其转换为PEM格式(“file.pem”),因此可以使用PHP函数在openssl_pkey_get_private中打开它。

我该如何完成?

如果有帮助,该解决方案可以使用DSACryptoServiceProvider.ExportCspBlob方法,我只需要转换 key 即可。

最佳答案

使用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);
}

关于c# - 将.NET XML格式的DSA非对称 key 转换为PEM格式,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3338128/

10-11 22:46
查看更多