OpenSSL 的 Unix 安装应该包含手册页,但 Windows 版本通常不包含,因为 Windows 通常没有任何查找和显示它们的方法。 当前支持版本的手册页,以及作为开发负责人的“master”,可在 OpenSSL 网站https://www.openssl.org/docs/manpages.html 上找到。所有 OpenSSL 的“命令”实际上都由(单个)程序 openssl 运行,因此您可以通过运行来执行 pkey some args
openssl pkey some args
rem if openssl.exe is on your PATH or in the current directory, otherwise
x:\path\to\openssl pkey some args
您没有提到拥有加密密钥文件的密码;我希望你这样做,因为没有它你就无法解密(或做任何其他事情)。
对于 1.0.0 以上,pkey 是转换私钥的首选方式,包括加密和解密;查看它的手册页。简而言之,您只需告诉pkey 从输入文件读取并写入输出文件,然后省略任何密码规范;该遗漏将导致它写入未加密的密钥。注意pkey 将以 PKCS8 格式写入输出,这对于大多数用途来说是首选,但如果您出于某种原因实际上需要“传统”或“传统”格式 - 询问谁“告诉”您此文件将是什么软件与 -- 1.1.0 pkey 一起使用可以做到这一点,但之前不能。
如果您坚持使用 0.9.x 版本,通常只在过时的系统上,请使用pkcs8 -topk8 -nocrypt 进行 PCKS8 输出;看那个。
如果您需要传统/传统格式(低于 1.1.0 的版本),您必须使用“传统”每个算法命令,因此您需要知道您的密钥(文件)是什么算法。看看第一行上面写着 -----BEGIN something PRIVATE KEY----- 的地方。如果是 RSA,请使用 rsa;对于动态搜索广告dsa;欧共体ec;请参阅相应的页面。如果某些东西是ENCRYPTED,您必须先将其解密为 PkCS8,然后使用asn1parse 来确定它是哪种算法,但我希望不太可能想要旧版未加密密钥的人会以 PKCS8 开头加密的。
OpenSSL 不提供任何特殊操作来组合 PEM 文件,因为连接多种类型的文件是一种常见操作。在 Unix 上,这通常是通过 cat 程序完成的;在 Windows 上,可以通过在源代码中使用带有加号的(内置)copy 命令来完成;在 Unix 和 Windows 上,它可以通过创建一个文件然后附加到它来完成,如下所示:
copy decryptedkey.pem combined.pem
type certificate.pem >> combined.pem
rem >> means redirect the output from that command ('type')
rem normally on the console to _the end of_ the named file.
在这种情况下,您想通过添加 decryptedkey.pem 的内容来修改 cert.pem,所以只需这样做
type decryptedkey.pem >> cert.pem
您也可以使用记事本等纯文本编辑器。打开两个文件;选择第二个文件中的所有文本并复制(或剪切)并将其粘贴到第一个文件的末尾;保存修改后的第一个文件。