Site icon IT Draft

Выстраиваем и сшиваем цепочку SSL-сертификатов правильно

Выстраиваем и сшиваем цепочку SSL-сертификатов правильно

Выстраиваем цепочку 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
Exit mobile version