在 C# 中将 asn1 转换为 base64

发布于 2024-12-11 08:11:26 字数 64 浏览 0 评论 0原文

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

Is there a way to convert an ASN.1 encoded private key of X509Certificate into Base64 format, using C# code?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

萌酱 2024-12-18 08:11:26

再想一想 - 可能我在第一次回答时没有理解你的问题。
如果您想将关键数据转换为类似于 .pem 文件的格式,您需要执行类似于 中的操作关于生成 .pem 文件的文章

On second thought - probably I didn't understood your question on first answer.
If you wanted to convert key data to format similar to .pem files you need to do something similar as in this article about generating .pem files

﹏半生如梦愿梦如真 2024-12-18 08:11:26

你应该尝试结合在一起
X509Certificate2.PrivateKey 属性

RSA.FromXmlString 方法

我认为您可以使用 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-----

You should try to combine together
X509Certificate2.PrivateKey Property
and
RSA.FromXmlString Method.

I think that you can load data from ASN.1 with RSA.FromXmlString and then set X509Certificate2.PrivateKey property to resulting RSA object. After that you can use one of X509Certificate2 Export() methods to export your key.

If you just need to convert ASN.1 DER encoded key to Base64 (.pem) format, you just need to encode binary byte array to Base64 (with System.Convert.ToBase64String()) and add header/footer for result:

-----BEGIN RSA PRIVATE KEY-----
encoded key data goes here
-----END RSA PRIVATE KEY-----
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文