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エンコーディングのいずれかにすることができます。 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
CRT形式で同様の問題があり、pemへの変換中にエラーが発生します。私はL0g0ffのように同じことを行い、それは動作します。詳細は以下をご覧ください。
証明書の詳細を確認しました:
openssl x509 -in certificate.crt -noout -text
拡張子をcertificate.crtからcertificate.pemに変更した後、予期した形式でファイルを取得します:
-----BEGIN CERTIFICATE----- ........................... -----END CERTIFICATE-----