ssl:无法加载证书
ssl : Unable to load certificate
我有 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 的新手,所以真的很困惑如何去做。请帮忙!
问题不在于 PEM 与 DER,而是您在需要证书的地方使用证书请求。 PEM header -----BEGIN CERTIFICATE REQUEST-----
清楚地表明了这一点。
要显示证书请求的内容,请使用
openssl req -in CSR.csr -text
显示证书的内容使用
openssl x509 -in CERT.crt -text
在我的例子中,我试图读取我的 cer 文件并收到上述错误
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
我必须使用 openssl 将其转换为 crt 文件。
openssl x509 -inform DER -in <certname>.cer -out <certname>.crt
openssl x509 -in <certname>.crt -text
Here's 我使用的文档。之后我能够使用 openssl 阅读它
此错误也会发生在不是由 CA 签署的“证书请求”(non-CSR 证书)但来自 Windows PKI 的 x509 常规证书的证书上,格式为“.cer” " 格式
在这种情况下,遵循“Norbert”的回答是解决问题的好方法,将证书转换为“.crt”
可以使用以下方式转储文件后:
openssl x509 -in YOURCERT.crt -noout -text
或
openssl x509 -in YOURCERT.crt -text
我有 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 的新手,所以真的很困惑如何去做。请帮忙!
问题不在于 PEM 与 DER,而是您在需要证书的地方使用证书请求。 PEM header -----BEGIN CERTIFICATE REQUEST-----
清楚地表明了这一点。
要显示证书请求的内容,请使用
openssl req -in CSR.csr -text
显示证书的内容使用
openssl x509 -in CERT.crt -text
在我的例子中,我试图读取我的 cer 文件并收到上述错误
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
我必须使用 openssl 将其转换为 crt 文件。
openssl x509 -inform DER -in <certname>.cer -out <certname>.crt
openssl x509 -in <certname>.crt -text
Here's 我使用的文档。之后我能够使用 openssl 阅读它
此错误也会发生在不是由 CA 签署的“证书请求”(non-CSR 证书)但来自 Windows PKI 的 x509 常规证书的证书上,格式为“.cer” " 格式
在这种情况下,遵循“Norbert”的回答是解决问题的好方法,将证书转换为“.crt”
可以使用以下方式转储文件后:
openssl x509 -in YOURCERT.crt -noout -text
或
openssl x509 -in YOURCERT.crt -text