2013-01-07 27 views
12

我真的試圖將.cer文件轉換通過OpenSSL的爲.pem,命令是: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

也許你的'cer'文件是alre ady以'pem'形式。閱讀http://openssl.6102.n7.nabble.com/Error-converting-from-cer-to-pem-td2179.html – banuj

回答

5

我也有這個問題。只需將CER重新命名爲PEM即可:)

5

要擴展existing answer,就像explained by 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 
0

我與CRT類似的問題在轉換爲pem期間給我錯誤的格式。我做同樣的事情像L0g0ff,它的工作原理。以下更多細節。

  1. 我檢查證書的詳細信息:

    openssl x509 -in certificate.crt -noout -text

  2. 從certificate.crt改擴建後到certificate.pem我得到了預期的格式文件:

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