Пошаговая процедура.
-
Подключаемся через ssh к web-server1 .
-
Смотрим что есть.
-
Создаем папку для сертификатов.
-
Создаем закрытый ключ.
-
Проверка целостности закрытого ключа.
-
Формируем запрос к ЦС. При выполнении команды будут заданы несколько вопросов, параметр "Common Name" должен совпадать с полным DNS именем сервера (FQDN), в моем случае "Common Name" = web-server1.localnet .
-
Смотрим содержимое запроса. В содержимом стоит обратить внимание на строку "Signature Algorithm: sha256WithRSAEncryption".
-
Далее, сформированный запрос (web-server1.localnet.req) копируем на компьютер с установленным ЦС. Действия, описанные ниже выполняются на ЦС.
-
В моем случае имеется Windows Server 2012 R2, с установленной ролью Active Directory Certificate Services. Опубликованы (доступны) AIA и CRL.
-
На сервере с установленным ЦС запускаем оснастку Certification Authority. В оснастке CA, выбираем ЦС; далее, в контекстном меню: "All Tasks" > "Submit new request", далее в открывшемся окне выбираем файл запроса (web-server1.localnet.req), нажимаем Open.
-
После обработки запроса, открываем контейнер (папку) "Issued Certificates", находим наш сертификат (обычно последний в списке) и экспортируем его в файл. Подробнее, по шагам: Встаем на сертификат > (Контекстное меню) > Open > Details > Copy to File > Next > Base-64... > Next > Browse... > web-server1.localnet.from-ca.cer > Save > Next > Fininsh.
-
Для проверки доступности AIA и CRL, в командной строке запускаем: >certutil -url web-server1.localnet.from-ca.cer
-
Полученный файл с сертификатом (web-server1.localnet.from-ca.cer) копируем обратно на web-server1 .
-
Возвращаемся к ssh подключению к web-server1. Для удобства рекомендую добавить в серверный сертификат сертификаты всех вышестоящих ЦС. Например, такими командами. В моем случае, ca-server.localnet.cer - это сертификат вышестоящего сервера, т.е. того, кто который выдал сертификат для нашего веб сервера.
-
Убираем пароль из закрытого ключа.
-
Проверяем серверный сертификат на соответсвие иерархии.
-
Копируем сертификат и ключ в папку nginx.
-
Настраиваем nginx на использование полученного сертификата. Ниже показана часть конфига nginx.
-
Перезапускаем nginx.
-
На рабочей станции в браузере подключаемся к https://web-server1.localnet . Проверяем серверный сертификат.