首页 文章

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

提问于
浏览
15

我试图通过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

我究竟做错了什么?

3 回答

  • 11

    我也有这个问题 . 只需将CER重命名为PEM即可:)

  • 7

    要扩展existing answer,如explained by ssl.com,.cer文件可以是der或pem编码 . 如果它是编码,你可以尝试 - 你可以重命名该文件 .

    如果您不确定,最好知道.der是二进制格式,而.pem是ascii one . 如果您回显证书的内容,.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
    
  • 0

    我有类似的CRT格式问题,在转换为pem时给出了错误 . 我和L0g0ff做同样的事情也行得通 . 下面有更多细节 .

    • 我查了证书的详细信息:

    openssl x509 -in certificate.crt -noout -text

    更改扩展名从certificate.crt到certificate.pem后

    • 我得到预期格式的文件:

    -----BEGIN CERTIFICATE----- ........................... -----END CERTIFICATE-----

相关问题