我有以下文件Cert.pem,Key.pem,CACert.pem
有人告诉我我需要解密key.pem。1) windows OpenSSL命令是什么来做到这一点?
我需要将解密的key.pem文件与cert.pem文件组合起来,以生成一个新的cert.pem文件。2) windows OpenSSL命令是什么?
谢谢
发布于 2017-07-27 13:28:22
OpenSSL的Unix安装应该包括手册页,但是Windows版本通常不包括,因为Windows通常没有找到和显示它们的任何方法。当前支持的版本的手册页,加上开发负责人“主”,都可以在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 dsa;对于EC ec;请参阅相应的页面。如果某个东西是ENCRYPTED,您必须像上面那样将它解密到PkCS8,然后使用asn1parse查看它,以确定它是哪种算法,但我认为,不太可能有人想要一个遗留的未加密密钥,从PKCS8加密密钥开始。
OpenSSL不提供任何特殊操作来组合PEM文件,因为连接多种类型的文件是一种常见操作。在Unix上,这是用cat程序规范地完成的;在copy上,可以使用源代码中带有加号的(内置)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.在本例中,您希望通过添加cert.pem的内容来修改decryptedkey.pem,所以只需做
type decryptedkey.pem >> cert.pem或者,您可以使用像记事本这样的纯文本编辑器。打开两个文件;选择第二个文件中的所有文本并复制(或剪切)并粘贴到第一个文件的末尾;保存修改后的第一个文件。
https://stackoverflow.com/questions/45348237
复制相似问题