我有.crt和.pem文件
-----开始证书-----
MIIFSDCCBDCg ........................................
-----结束证书-----
我想从这个文件中获取RSA密钥 .
任何人都知道我们如何做到这一点 .
我一个接一个地使用下面的命令
openssl rsa -in XXX.crt -out input1.der -outform DER openssl rsa -in input1.der -inform DER -out key.pem -outform PEM
但是,它给出了错误:
无法加载私钥140331982231200:错误:0906D06C:PEM例程:PEM_read_bio:无起始行:pem_lib.c:703:期望:任何私钥
我也使用了不同的命令,但它给出了上述错误 .
2 回答
-----开始证书-----
MIIFSDCCBDCg ........................................
-----结束证书-----
这是pem格式的证书,它是公钥的包装 . 证书应该是公开的并且可以分发,但私钥(顾名思义)应该保密 . 因此证书永远不能包含私钥 .
你提到过,你也有一个.pem文件 . 它的内容是什么?它是以“----- BEGIN RSA PRIVATE KEY -----”开头的 . 如果是,那将是您的私钥 .
您正在尝试的命令:openssl rsa它需要输入中的私钥,但您要为其提供证书 . 因此错误 .
您可以在证书中使用't get a private key from a certificate, because the private key isn' t,除非PEM文件包含PEM文件,否则无法从PEM文件中获取该文件,但不一定如此,