В статье рассматривается возможность создания SSL-сертификата для применения на WEB-сервер с использованием центра сертификации AD CS.
Стоить отметить, что при самостоятельном создании центра сертификации и выпуске сертификатов доверять им будут только те устройства, у которых установлен корневой сертификат вашего центра сертификации. Такой вариант хорошо работает во внутренней инфраструктуре предприятия, но если ваши ресурсы должны быть доступны из глобальной сети, то необходимо покупать SSL-сертификаты у глобальных центров сертификации.
Для создания центра сертификации необходимо:
- установить Windows Server;
- добавить роль Active Directory Certificate Services (AD CS);
- следуя подсказкам, сконфигурировать AD CS.
Для того, чтоб выпустить сертификат для сайта, используя AD CS, необходимо сформировать запрос на сертификат с помощью OpenSSL.
На линукс машине, в терминале, вводим следующий запрос для формирования запроса на сертификат:
openssl req -new -newkey rsa:2048 -nodes -keyout private.key -out web-srv.reg -subj "/CN=*.example.ru/OU=Подразделение/O=организация/C=RU/ST=Russia/L=Город"
В результате сформируется закрытый ключ и запрос на сертификат на домен example.ru и все поддомены третьего уровня. Проще говоря, таким образом мы сформировали запрос на Мультидоменный сертификат.
Следующим этапом является запрос сертификата у AD CS. Для этого открываем файл web-srv.req с помощью текстового редактора и копируем содержимое файла, например:
nano web-srv.req
Открываем в браузере страницу центра сертификации: ip-адрес_AD_CS/certsrv/
Request a certificate -> advanced certificate request и вставляем туда скопированный запрос на сертификат.
Переходим на Windows Server, запускаем Server Manager -> Tools -> Certification Authority -> Pending Request. Выбираем нужный запрос на сертификат и выпускаем его, выбрав пункт Issue.
Переходим в браузере по адресу: ip-адрес_AD_CS/certsrv/ и выбираем пункт View the status of a pending certificate request, где можно скачать свой сертификат или цепочку сертификатов в формате DER или Base64.
Далее можно переходить к установке сертификата на сервер.
Дополнительно:
Конвертация из формата p7b в PEM:
openssl pkcs7 -print_certs -in certnew.p7b -out certnew.cer