30

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

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

MIID....

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

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

MI...

-----END RSA PRIVATE KEY-----

当我尝试读取 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

我读到当输入文件为 DER 格式时出现此错误,所以我尝试了以下操作 -

$ openssl x509 -inform DER -in CSR.csr -text -noout

但现在我得到了错误 -

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

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

真的很困惑如何去做,因为我是 SSL 新手。请帮忙!

4

3 回答 3

27

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

要显示证书请求的内容,请使用

openssl req -in CSR.csr -text

显示证书使用的内容

openssl x509 -in CERT.crt -text
于 2016-04-12T08:50:17.687 回答
27

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

openssl x509 -in CSR.csr -text -noout 无法加载证书 140518720210760:error:0906D06C:PEM 例程:PEM_read_bio:no start line:pem_lib.c:698:Expecting: TRUSTED CERTIFICATE

我必须使用 openssl 将其转换为 crt 文件。

openssl x509 -inform DER -in <certname>.cer -out <certname>.crt
openssl x509 -in <certname>.crt -text

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

于 2018-07-11T17:05:17.323 回答
0

此错误也发生在不是由 CA(非 CSR 证书)签名的“证书请求”但来自 Windows PKI 的“.cer”格式的 x509 常规证书上

在这种情况下,遵循“Norbert”的答案是解决问题的好方法,将证书转换为“.crt”

在文件能够被转储后,使用:

openssl x509 -in YOURCERT.crt -noout -text

或者

openssl x509 -in YOURCERT.crt -text
于 2022-01-26T08:11:01.033 回答