我正在尝试通过 openssl 将 .cer 文件转换为 .pem,命令是:
openssl x509 -inform der -in certnew.cer -out ymcert.pem
这就是我遇到的错误:
unable to load certificate
140735105180124:error:0D0680A8:asn1 encoding routines:ASN1_CHECK_TLEN:wrong tag:tasn_dec.c:1319:
140735105180124:error:0D07803A:asn1 encoding routines:ASN1_ITEM_EX_D2I:nested asn1 error:tasn_dec.c:381:Type=X509
我做错了什么?
最佳答案
赞explained by ssl.com , .cer 文件可以是 der 或 pem 编码。如果它是 der 编码,你需要像你尝试的那样进行转换,但如果它已经是 pem 编码,则不需要转换,如果你尝试,你会得到你遇到的错误 - 你可以重命名文件。
如果您不确定,最好知道 .der 是一种二进制格式,而 .pem 是 ascii 格式。如果您回显证书的内容,.pem 文件将如下所示:
-----BEGIN CERTIFICATE-----
MIIEuTCCA6G[snip lots of chars]
XmCpajQ==
-----END CERTIFICATE-----
.der 文件看起来像这样:
0▒▒0▒▒▒@*▒H▒▒▒▒▒0
0▒▒1
0 UUS10U
VeriSign, Inc.10U
VeriSign Trust Network1:08U
关于linux - 将 cer 转换为 pem 时出现 OpenSSL 编码错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14191468/