是否有一种易于使用(来自.net)和普遍接受的文件格式来保存加密密钥(主要用于非对称密钥、公共和公共/私人)。是否存在用于在 .net(任何版本)中创建此类文件的 API?
我已经查看了证书,但这对于仅保存密钥似乎有点过头了,而且据我所知,创建起来并不容易。
是否有一种易于使用(来自.net)和普遍接受的文件格式来保存加密密钥(主要用于非对称密钥、公共和公共/私人)。是否存在用于在 .net(任何版本)中创建此类文件的 API?
我已经查看了证书,但这对于仅保存密钥似乎有点过头了,而且据我所知,创建起来并不容易。
用于存储证书链(或仅一个证书)及其相关私钥组合的最常见格式之一是PKCS#12:它倾向于使用扩展名.p12
或.pfx
. 大多数浏览器都使用它。
或者,如果您只需要私钥,某些工具使用PKCS#1格式(例如,确实)。openssl rsa
(OpenSSL 也支持 PKCS#8。)
两者都可以通过密码进行加密和保护。
您应该能够使用BouncyCastle导出它们。(您可能对这个问题感兴趣。)
编辑:
更具体地说,您可以使用Org.BouncyCastle.OpenSsl.PemWriter
(可以使用WriteObject
密码来保护私钥)。它还可以让您导出一个普通的公钥(无需依赖证书)。