有没有办法使用C#代码将X509Certificate的ASN.1编码私钥转换为Base64格式?
答案 0 :(得分:2)
你应该尝试结合在一起 X509Certificate2.PrivateKey Property 和 RSA.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
类似的操作