1) Создайте конфигурационный файл mydomain.cnf
Код:
[req]
distinguished_name = req_distinguished_name
req_extensions = v3_req
x509_extensions = v3_req
prompt = no
string_mask = utf8only
utf8 = yes
[req_distinguished_name]
CN = mydomain.ru
C = RU
[v3_req]
keyUsage = digitalSignature, keyEncipherment, keyAgreement
extendedKeyUsage = serverAuth, clientAuth
subjectAltName = DNS:mydomain.ru
2) Генерация приватного ключа и CSR-запроса
Сгенерируйте закрытый ключ и запрос на получение сертификата:
Код:
"C:\Program Files\OpenSSL-Win64\bin\openssl.exe" req -out mydomain.csr -new -newkey rsa:2048 -nodes -keyout mydomain.key -config "C:\OpenSSL\mydomain.cnf"
3) Подготовка сертификатов и сборка цепочки
1. Полученный из архива Госуслуг файл сертификата (certificate.cer и certificate.crt) поместите в папку C:\OpenSSL.
2. Скачайте промежуточный и корневой сертификаты Национального УЦ:
Код:
powershell -Command "Invoke-WebRequest -Uri 'http://nuc-cdp.digital.gov.ru/cdp/subca_ssl_rsa2024.crt' -OutFile 'C:\OpenSSL\subca.crt'; Invoke-WebRequest -Uri 'http://nuc-cdp.digital.gov.ru/cdp/rootca_ssl_rsa2022.crt' -OutFile 'C:\OpenSSL\rootca.crt'"
3. Объедините промежуточный и корневой сертификаты в файл цепочки:
Код:
type C:\OpenSSL\subca.crt C:\OpenSSL\rootca.crt > C:\OpenSSL\chain.crt
В итоге мы получаем: certificate.crt, mydomain.key и chain.crt