#ssl #openssl #ssl-certificate
#ssl #openssl #ssl-сертификат
Вопрос:
У меня возникли некоторые странные проблемы с генерацией CSR и сертификатов из них, которые я не до конца понимаю.
Вот что я сделал:
Сгенерируйте закрытый ключ и CSR (выполняется в Ubuntu на WSL, если это имеет какое-либо значение)
openssl req -newkey rsa:2048 -keyout PRIVATEKEY.key -out MYCSR.csr
Загрузил это в CA и получил обратно сертификат, начинающийся с -----BEGIN CERTIFICATE-----
, который будет указывать на сертификат в кодировке PEM, верно?
Попробовал объединить все это в PFX для простоты использования
openssl pkcs12 -export -out CERTIFICATE.pfx -inkey PRIVATEKEY.key -in CERTIFICATE.cer
Затем он запрашивает закрытый ключ, а затем выдает ошибку No certificate matches private key
Некоторые люди предлагали перекодировать сертификат из DER в PEM, но это просто выдает ошибку, указывающую, что сертификат уже X509
sudo openssl x509 -inform DER -outform PEM -in CERTIFICATE.cer -out CERTIFICATE.pem
unable to load certificate
140390322082240:error:0D0680A8:asn1 encoding routines:asn1_check_tlen:wrong tag:../crypto/asn1/tasn_dec.c:1130:
140390322082240:error:0D07803A:asn1 encoding routines:asn1_item_embed_d2i:nested asn1 error:../crypto/asn1/tasn_dec.c:290:Type=X509
Следующая команда генерирует вполне разумный вывод, поэтому сертификат, похоже, в некоторой степени в порядке
openssl x509 -in CERTIFICATE.cer -text -noout
Центром сертификации является Telia, если это кому-либо полезно. В прошлом у меня были некоторые проблемы с ними, например, утилита сертификации Digicert по какой-то причине не распознает их сертификаты как действительные (но это, конечно, может быть вызвано тем, что я использую неправильное расширение файла или что-то в этом роде).
Комментарии:
1. убедитесь, что ваш закрытый ключ не зашифрован, затем вы можете запустить
openssl rsa -modulus -noout -in private.key | openssl md5
, иopenssl x509 -modulus -noout -in certificate.file | openssl md5
они должны совпадать
Ответ №1:
Эта проблема возникла из-за процесса обновления в пользовательском интерфейсе Telia, он позволяет вам загружать новый CSR во время обновления, но фактически игнорирует это и использует старый CSR, не сообщая вам.