Ответ 1
У меня тоже была эта проблема. Просто переименовать CER в PEM было достаточно:)
Я пытаюсь преобразовать файл .cer в .pem через openssl, команда:
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 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
У меня аналогичная проблема с форматом CRT, который дает мне ошибку при преобразовании в pem. Я делаю то же самое, что и L0g0ff, и он работает. Ниже более подробная информация.
Я проверил детали сертификата:
openssl x509 -in certificate.crt -noout -text
после изменения расширения на сертификат .crt на cert.pem Я получаю файл в ожидаемом формате:
-----BEGIN CERTIFICATE-----
...........................
-----END CERTIFICATE-----