Выстраиваем цепочку SSL-сертификатов
Цепочка сертификатов SSL включает в себя сертификаты поручителей, подтверждающие валидность документа в целом. Структура CA Bundle имеет такой вид:
– Корневой сертификат (Root).
– Сертификаты посредников, или промежуточный (Intermediate).
Мы выпустили SSL-сертификат для сайта.
Допустим нам предоставили следующие файлы:
CARoot.crt - Корневой SSL-сертификат
Intermediate1.crt - Промежуточный SSL-сертификат
Intermediate2.crt - Промежуточный SSL-сертификат 2
domain.crt - SSL-сертификат сайта
Так же у нас уже имелись файлы:
request.csr - запрос на получение сертификата
private.key - приватный ключ
Правильная цепочка SSL-сертификатов имеет структуру:
SSL-сертификат сайта —> Промежуточный SSL-сертификат -> Промежуточный SSL-сертификат 2 -> … —> Корневой SSL-сертификат
Selectel — ведущий провайдер облачной инфраструктуры и услуг дата-центров
Компания занимает лидирующие позиции на рынке на рынке выделенных серверов и приватных облаков, и входит в топ-3 крупнейших операторов дата-центров в России.
Создадим из присланных нам файлов правильную цепочку SSL-сертификатов. Открываем терминал и выполняем команду:
[root@localhost]# cd /etc/nginx/ssl
[root@localhost]# cat domain.crt Intermediate1.crt Intermediate2.crt CARoot.crt > domain.ca-bundle
Таким образом мы получили файл domain.ca-bundle, который содержит правильную цепочку SSL-сертификатов
Проверим. Смотрим хэш-суммы SSL-сертификат сайта, полученного сертификата, приватного ключа и запроса на получение сертификата
[root@localhost]# openssl x509 -noout -modulus -in domain.crt | openssl md5
(stdin)= b67fe14bdd9336fc9aef28605e69b9a7
[root@localhost]# openssl x509 -noout -modulus -in domain.ca-bundle | openssl md5
(stdin)= b67fe14bdd9336fc9aef28605e69b9a7
[root@localhost]# openssl rsa -noout -modulus -in private.key | openssl md5
(stdin)= b67fe14bdd9336fc9aef28605e69b9a7
[root@localhost]# openssl req -noout -modulus -in request.csr | openssl md5
(stdin)= b67fe14bdd9336fc9aef28605e69b9a7