我有.crt和.pem文件
-----BEGIN CERTIFICATE-----
MIIFSDCCBDCg........................................
-----END CERTIFICATE-----
我想从这个文件中获取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:期待:ANY 私钥
我也使用了不同的命令,但它给出了上述错误。
答案 0 :(得分:3)
-----BEGIN CERTIFICATE-----
MIIFSDCCBDCg........................................
-----END CERTIFICATE-----
这是pem格式的证书,它是公钥的包装。证书应该是公开的并且可以分发,但私钥(顾名思义)应该保密。因此证书永远不能包含私钥。
你提到过,你也有一个'.pem'文件。它的内容是什么?它是以-----BEGIN RSA PRIVATE KEY-----
开头的吗?如果是,那将是您的私钥。
您正在尝试的命令: openssl rsa 它需要一个私钥输入,但你提供一个证书。因此错误。
答案 1 :(得分:2)
您无法从证书中获取私钥,因为私钥不在证书中,除非PEM文件包含,否则您无法从PEM文件中获取私钥,不一定如此,