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

tus*_*ark 3 ssl key crt pem

我有.crt和.pem文件

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

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

-----END CERTIFICATE-----
Run Code Online (Sandbox Code Playgroud)

我想要此文件中的RSA密钥。

任何人都不知道我们如何做到这一点。

我已经在命令下面一一使用了

openssl rsa -in XXX.crt -out input1.der -outform DER
openssl rsa -in input1.der -inform DER -out key.pem -outform PEM
Run Code Online (Sandbox Code Playgroud)

但是,它给出了错误:

无法加载私钥140331982231200:错误:0906D06C:PEM
例程:PEM_read_bio:无起始行:pem_lib.c:703:正在期待:任何私钥

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

use*_*421 5

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


小智 5

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

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

-----END CERTIFICATE-----
Run Code Online (Sandbox Code Playgroud)

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

您提到过,您也有一个“ .pem”文件。内容是什么?它开始于-----BEGIN RSA PRIVATE KEY-----。如果是,它将是您的私钥。

您正在尝试的命令:openssl rsa期望输入中包含私钥,但您正在向其提供证书。因此,错误。