我尝试将 PEM 编码的密钥转换为 DER 格式,并且似乎无论 -passout 参数如何,密码都会被剥离。
例子:
openssl rsa -in tmp.pem -outform DER -out tmp.der -passin pass:foo -passout pass:bar -des3
生成的密钥似乎不再受密码保护,因此我假设 DER 格式不支持密码 - 对吗?
还有什么其他方法可以将其以紧凑的二进制形式存储并保留密码保护?
答案1
实际上,-passout 被忽略了。手册页中 -des3 帮助的最后一句话是
这些选项只能与 PEM 格式的输出文件一起使用。
OpenSSL 的实用程序不处理非 PEM 格式的密钥。
对于密钥的长度,您为什么要关心 base64 是否将其长度增加了 1/3?对于大多数文件系统,这仍然小于一个块,因此使用的磁盘空间量不会发生实际变化。