Проблема

Thawte выдал сертификат SSL123, но в сертификате нет private key. Нужно извлечь private key из файла pfx и пришить его к выданному сертификату.

Решение

Предполагается, что запрос сертификата был создан с помощью оснастки certmgr.msc.

Открываем mmc.exe добавляем оснастку Certificates (local computer). Дальше идем в Certificate Enrollment Requests (Запросы заявок на сертификат) и экспортируем файл с личными данными .pfx. При экспорте указываем, что нам нужен закрытый ключ и вводим пароль. На выходе имеем файл .pfx. В файле .pfx лежит самоподписаннный сертификат и приватный (закрытый) ключ. Мы должны извлечь из этого файла приватный ключ и склеить его с сертификатом Thawte в новый файл .pfx.

Скачиваем и ставим http://slproweb.com/download/Win64OpenSSL_Light-1_0_2c.exe Сначала преобразуем контейнер формата pfx в формат pem, но указываем, что экспортировать сертификат не надо:

c:\OpenSSL-Win64\bin>openssl pkcs12 -in request_with_key.pfx -nocerts -out key.pem
WARNING: can't open config file: /usr/local/ssl/openssl.cnf
Enter Import Password:
MAC verified OK
Enter PEM pass phrase:
Verifying - Enter PEM pass phrase:

Утилита спросит пароль, который вводили при экспорте pfx и два раза пароль для контейнера pem.

Затем получаем из закрытого ключа открытый:

openssl rsa -in key.pem -out myserver.key

А теперь создаем новый pfx, в котором будет ключ и сертификат Thawte:

openssl pkcs12 -export -out domain.name.pfx -inkey domain.name.key -in domain.name.crt

тут domain.name.pfx - это выходной файл в который попадет сертификат и ключ, domain.name.key - это файлик myserver.key, вытащенный на предыдущем этапе, domain.name.crt - это сертификат, полученный от Thawte.

Enter your comment. Wiki syntax is allowed:
 
  • ms_windows_ms_sql/add_private_key_to_ssl_certificate.txt
  • Last modified: 2019/02/11 09:13
  • by 127.0.0.1