在C#中将asn1转换为base64

时间:2011-10-23 13:26:43

标签: c# certificate asn.1 x509certificate2

有没有办法使用C#代码将X509Certificate的ASN.1编码私钥转换为Base64格式?

2 个答案:

答案 0 :(得分:2)

你应该尝试结合在一起 X509Certificate2.PrivateKey PropertyRSA.FromXmlString Method

我认为您可以使用RSA.FromXmlString从ASN.1加载数据,然后将X509Certificate2.PrivateKey属性设置为生成的RSA对象。之后,您可以使用X509Certificate2 Export()方法之一导出密钥。

如果您只需要将ASN.1 DER编码密钥转换为Base64(.pem)格式,您只需要将二进制字节数组编码为Base64(使用System.Convert.ToBase64String())并为结果添加页眉/页脚:

-----BEGIN RSA PRIVATE KEY-----
encoded key data goes here
-----END RSA PRIVATE KEY-----

答案 1 :(得分:2)

第二个想法 - 可能我在第一个答案时没有理解你的问题。 如果您想将关键数据转换为类似于.pem文件的格式,则需要执行与此article about generating .pem files

类似的操作