Cоздание CSR запроса с полем SAN (Subject Alternative Names в OpenSSL) необходимо для того, чтобы браузеры такие как Google Chrome, Mozilla Firefox и т.д. не показывали ошибку «Ваше соединение не защищено».
В браузерах Google Chrome с версии 58 и Mozilla Firefox с версии 48, сертификаты в которых не указаны имена хостов в поле SubjectAltName приводят к ошибке «Ваше соединение не защищено» \ «Your connection is not private».
OpenSSL
Скачать последнюю версию OpenSSL для Windows можно здесь.
Генерация CSR запроса
Комманда для генерирования файла запроса .csr и ключа .key
openssl req -new -sha256 -nodes -out путь_к_файлу\server.csr -newkey rsa:2048 -keyout путь_к_файлу\server.key -config путь_к_файлу\conf.cnf
Пример файла конфигурации для CSR запроса
[req] default_bits = 2048 prompt = no default_md = sha256 req_extensions = req_ext distinguished_name = dn [ dn ] C=RU ST=Moscow L=Moscow O=Company Name OU=IT Department emailAddress=example@example.com CN = hostname.example.com [ req_ext ] subjectAltName = @alt_names [ alt_names ] DNS.1 = hostname.example.com DNS.2 = hostname IP.1 = 10.10.10.10
Конвертирование сертификата .cer в .pfx
Для конвертации сертификата .cer в .pfx с помощью OpenSSL потребуются следующие файлы:
domain.cer — сертификат который будет конвертироваться в .pfx
server.key — файл ключа который был создан вместе с .csr запросом
cacert.cer — файл сертификата центра сертификации
openssl pkcs12 -export -in путь_к_файлу\domain.cer -inkey путь_к_файлу\server.key -out путь_к_файлу\domain.pfx -certfile cacert.cer