用于保存加密密钥的文件格式

问题描述

| 是否有一种易于使用的(来自.net)和公认的文件格式来保存加密密钥(主要用于非对称密钥,公共密钥和公共/私有密钥)。是否存在用于在.net(任何版本)中创建此类文件的API? 我已经看过证书,但是就我所知,这似乎对于仅保存密钥来说是一个过大的杀伤力,创建起来并不容易。     

解决方法

        用于存储证书链(或仅一个证书)及其关联私钥的组合的最常见格式之一是PKCS#12:它倾向于使用扩展名“ 0”或“ 1”。大多数浏览器都使用此功能。 或者,如果您只想要私钥,则某些工具使用PKCS#1格式(例如,
openssl rsa
这样做)。 (OpenSSL还支持PKCS#8。) 两者都可以通过密码进行加密和保护。 您应该可以使用BouncyCastle导出它们。 (您可能对此问题感兴趣。) 编辑: 更具体地说,您可以使用
Org.BouncyCastle.OpenSsl.PemWriter
(带有密码的
WriteObject
可以用来保护私钥)。它还将允许您导出普通的公共密钥(而不必依赖证书)。