如何从----- BEGIN CERTIFICATE ----- from.crt和.pem文件中获取RSA密钥?

时间:2017-04-13 06:03:36

标签: ssl key pem crt

我有.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   私钥

我也使用了不同的命令,但它给出了上述错误。

2 个答案:

答案 0 :(得分:3)

-----BEGIN CERTIFICATE-----

MIIFSDCCBDCg........................................

-----END CERTIFICATE-----

这是pem格式的证书,它是公钥的包装。证书应该是公开的并且可以分发,但私钥(顾名思义)应该保密。因此证书永远不能包含私钥。

你提到过,你也有一个'.pem'文件。它的内容是什么?它是以-----BEGIN RSA PRIVATE KEY-----开头的吗?如果是,那将是您的私钥。

您正在尝试的命令: openssl rsa 它需要一个私钥输入,但你提供一个证书。因此错误。

答案 1 :(得分:2)

您无法从证书中获取私钥,因为私钥不在证书中,除非PEM文件包含,否则您无法从PEM文件中获取私钥,不一定如此,