Продолжение статьи о том какие есть способы подготовки сертификата для включения SSL на вашем веб-сервере. В этой части я расскажу как создать сертификат в Microsoft Active Directory Certificate Service и импортировать его для включения SSL на веб-сервере. С 1 Частью вы можете ознакомиться здесь "Подготовка сертификатов для включения SSL"
Данный способ предполагает запрос необходимых сертификатов через доменный центр сертификации, выгрузку их в формате pfx и подключение к веб-серверу.
Для получения необходимых сертификатов необходимо зайти в доменный центр выдачи сертификатов и начать запрос сертификата пройдя по ссылке «Request a certificate». Будет лучше, если эти действия выполняются с обычной рабочей станции.
Далее требуется выбрать «advanced certificate request». Следующим шагом будет выбор «Create and submit a request to this CA».
Далее, выбираем заранее созданную копию шаблона «Web Server» позволяющего экспортировать закрытые ключи – в нашем случае «Web Server (ARC)».
Поле Name заполняется в соответствии с внешним именем используемого сервера Apache, если такового нет, то – внутреннего. В качестве e-mail указываем адрес электронной почты службы поддержки. Поля City и Country лучше заполнять значениями соответствующими московскому офису Компании, если не требуется иное. Значения полей разделов «Key options» и «Additional options» используем «по умолчанию», за исключением «Store certificate in the local computer certificate store ...».
После подтверждения данных «Submit» нажимаем «Yes» в появившемся окне предупреждения.
Далее устанавливаем сертификат на локальный компьютер, подтверждая своё доверительное отношение к центру сертификации.
Экспорт ключей и сертификатов осуществляется в Microsoft Management Console, где нужно добавить оснастку Certificates управляющую аккаунтом локального компьютера (Computer account-Local computer)
В ветке Personal - > Certificates дерева каталогов этой оснастки появится установленный ранее сертификат. Используя контекстное меню этого сертификата нужно выбрать All Tasks - > Export, запустив Certificate Export Wizard.
В следующем окне мастера экспортирования сертификатов
выбираем пункт «Yes, export the private key».
Затем устанавливаем нужные галочки в соответствии со снимком экрана.
Следующее окно мастера
позволяет установить дополнительную защиту для закрытого ключа, к сожалению
здесь отсутствует возможность её отключения и мы сделаем это позже, при
экспорте openssl, поэтому можно задать
любой пароль, пустой
пароль можно задавать если сертификаты не будут использоваться в tomcat.
Остаётся ввести путь к имени pfx-файла, который будет содержать инфраструктуру ключей pkcs12.
Импорт PKCS12 в OpenSSL
Переместив pfx-файл в linux-окружение с установленным пакетом openssl,
начинаем импорт ключей и сертификатов. Дальнейшие действия с ними зависят от
типа сервиса и способа его настройки.
Следующая команда импортирует сертификат из файла vcs1-g.pfx в файл vcs1-g.crt используя пароль 123 заданный в мастере экспортирования.
openssl pkcs12 -passin pass:123 -in vcs1-g.pfx -out vcs1-g.crt -clcerts -nokeys
Импорт закрытого ключа
Следующая последовательность команд импортирует закрытый ключ в файл vcs1-g.key, при этом отключается его парольная защита, с которой невозможен автоматический запуск службы Apache и многих других.
openssl pkcs12 -passin pass:123 -passout pass:anypw -in vcs1-g.pfx -nocerts | openssl rsa -passin pass:anypw -out vcs1-g.key
Теперь можно подключить к вашему веб-серверу полученный сертификат и приватный ключ.
Для справки: Как собрать pfx-файл средствами openssl:
Для справки: Как собрать pfx-файл средствами openssl:
openssl pkcs12 -export -in certificate.crt -inkey certificate.key -out certificate.pfx -name "Test Certificate"