将 cer 转换为 pem 时出现 OpenSSL 编码错误

新手上路,请多包涵

我正在尝试通过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

我究竟做错了什么?

原文由 Arthur Kushman 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 1.9k
2 个回答

我也有这个问题。只需将 CER 重命名为 PEM 就足够了 :)

原文由 L0g0ff 发布,翻译遵循 CC BY-SA 3.0 许可协议

正如 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

原文由 eis 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题