ssl:无法加载证书

Kat*_*t.S 15 ssl certificate pem der

我有2个文件 - CSR.csr和newkey.key,两者似乎都是PEM格式,如下所示 -

-----BEGIN CERTIFICATE REQUEST-----

MIID....

-----END CERTIFICATE REQUEST-----

-----BEGIN RSA PRIVATE KEY-----

MI...

-----END RSA PRIVATE KEY-----
Run Code Online (Sandbox Code Playgroud)

当我尝试读取CSR.csr文件时,出现以下错误:

$ openssl x509 -in CSR.csr -text -noout
unable to load certificate
140518720210760:error:0906D06C:PEM routines:PEM_read_bio:no start line:pem_lib.c:698:Expecting: TRUSTED CERTIFICATE
Run Code Online (Sandbox Code Playgroud)

我读到当输入文件是DER格式时我们得到这个错误,所以我尝试了以下 -

$ openssl x509 -inform DER -in CSR.csr -text -noout
Run Code Online (Sandbox Code Playgroud)

但现在我得到了错误 -

unable to load certificate
140519053051720:error:0D0680A8:asn1 encoding routines:ASN1_CHECK_TLEN:wrong tag:tasn_dec.c:1320:
140519053051720:error:0D07803A:asn1 encoding routines:ASN1_ITEM_EX_D2I:nested asn1 error:tasn_dec.c:382:Type=X509
Run Code Online (Sandbox Code Playgroud)

当输入文件已经是PEM格式并且尝试以DER格式读取它时,似乎会发生此错误.

因为我是SSL新手,所以真的很困惑.请帮忙!

Ste*_*ich 15

问题不是PEM与DER,而是您在需要证书的地方使用证书请求.PEM标题清楚地显示了这一点-----BEGIN CERTIFICATE REQUEST-----.

显示证书请求的内容使用

openssl req -in CSR.csr -text
Run Code Online (Sandbox Code Playgroud)

显示证书使用的内容

openssl x509 -in CERT.crt -text
Run Code Online (Sandbox Code Playgroud)


小智 6

就我而言,我试图读取我的cer文件,并收到上述错误。

openssl x509 -in CSR.csr -text -noout无法加载证书140518720210760:错误:0906D06C:PEM例程:PEM_read_bio:无起始行:pem_lib.c:698:预期:受信任的证书

我不得不使用openssl将其转换为crt文件。

openssl x509 -inform DER -in <certname>.cer -out <certname>.crt
openssl x509 -in <certname>.crt -text
Run Code Online (Sandbox Code Playgroud)

这是我使用的文档。之后我可以使用openssl读取它