将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 

我究竟做错了什么?

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

要扩展现有的答案 ,就像ssl.com所解释的 ,.cer文件可以是der或pem编码。 如果它是在编码中,则需要按照您所做的那样进行转换,但是如果它已经以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