===== Выстраиваем цепочку 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-сертификат Создадим из присланных нам файлов правильную цепочку 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