Закрытый ключ не соответствует сертификату

#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, не сообщая вам.