Что такое цепочка сертификатов SSL? Как это работает

Что такое цепочка сертификатов SSL?
Цепочка сертификатов SSL (также называемая цепочкой доверия или путём сертификации) — это упорядоченный список цифровых сертификатов, который связывает SSL/TLS-сертификат вашего сайта с доверенным корневым Центром сертификации (CA). Каждый сертификат в цепочке подписан цифровой подписью вышестоящего сертификата, создавая проверяемый путь доверия от вашего сервера до корневого CA, которому браузеры уже доверяют.
Представьте это как цепочку поручительств. Сертификат сервера говорит: «Я — example.com». Промежуточный CA говорит: «Я ручаюсь за сертификат example.com». Корневой CA говорит: «Я ручаюсь за этот промежуточный». Ваш браузер уже доверяет корневому CA, поэтому, следуя цепочке подписей, он доверяет и вашему серверу.
Когда вы посещаете любой HTTPS-сайт, браузер молча проходит эту цепочку за миллисекунды. Если каждое звено в порядке, вы видите значок замка. Если какое-либо звено отсутствует, просрочено или недействительно, вы получаете предупреждение безопасности.
Три звена в каждой цепочке сертификатов
Большинство цепочек сертификатов SSL имеют ровно три уровня. Понимание каждого из них необходимо для устранения проблем с HTTPS.
| Корневой сертификат | Промежуточный сертификат | Leaf (серверный) сертификат | |
|---|---|---|---|
| Подписан | Самим собой (самоподписанный) | Корневым CA | Промежуточным CA |
| Расположение | Хранилище доверия браузера/ОС | Отправляется сервером | Отправляется сервером |
| Типичный срок жизни | 20–25 лет | 5–10 лет | 90 дней – 1 год |
| При компрометации | Все сертификаты недействительны — катастрофа | Отзыв только промежуточного | Отозвать и перевыпустить |
| Примерное количество | ~150 доверенных корневых в мире | Тысячи | Сотни миллионов |
Корневой сертификат
Корневой сертификат — это якорь доверия на вершине цепочки. Он самоподписанный, то есть Центр сертификации подписал собственный сертификат. Корневые сертификаты предустановлены в браузере и операционной системе — эта коллекция называется хранилищем доверия (trust store).
Существует около 150 корневых CA, которым по умолчанию доверяют основные браузеры. Такие организации, как DigiCert, Let's Encrypt (ISRG), Sectigo и GlobalSign, управляют корневыми сертификатами. Поскольку корневые ключи критически важны, CA хранят их в аппаратных модулях безопасности (HSM) внутри физически защищённых и изолированных от сети хранилищ.
Промежуточный сертификат
Промежуточные сертификаты находятся между корневым и серверным сертификатом. Корневой CA подписывает промежуточный сертификат, а промежуточный CA подписывает сертификаты конечных сущностей (серверов). Большинство CA используют один или два промежуточных сертификата.
Ваш веб-сервер должен отправлять промежуточные сертификаты вместе с leaf-сертификатом во время TLS-рукопожатия. В отличие от корневых, промежуточные сертификаты не предустановлены в браузерах — если сервер их не отправит, цепочка нарушится.
Leaf-сертификат (серверный сертификат)
Leaf-сертификат (также называемый сертификатом конечной сущности или серверным сертификатом) — это сертификат, установленный на вашем веб-сервере. Он содержит имя домена, открытый ключ, срок действия и информацию об издателе (промежуточном CA, который его подписал).
Это первый сертификат, который браузер получает во время TLS-рукопожатия. Затем браузер поднимается по цепочке, проверяя каждую подпись, пока не достигнет доверенного корневого сертификата.
Как работает цепочка доверия
Когда браузер подключается к сайту по HTTPS, TLS-рукопожатие запускает процесс проверки цепочки, который происходит за миллисекунды:
Сервер отправляет сертификаты — Веб-сервер отправляет leaf-сертификат и все промежуточные сертификаты браузеру.
Браузер строит цепочку — Браузер выстраивает сертификаты по порядку: leaf → промежуточный(е) → корневой. Он определяет корневой, проверяя хранилище доверия.
Проверка подписей — Начиная с leaf, браузер проверяет, что цифровая подпись каждого сертификата создана закрытым ключом следующего сертификата в цепочке.
Поиск корневого — Браузер подтверждает, что корневой сертификат на вершине цепочки существует в встроенном хранилище доверия. Если корневой не распознан, проверка не проходит.
Проверки действительности — Для каждого сертификата в цепочке браузер проверяет: не просрочен, не отозван (через CRL или OCSP), и домен leaf-сертификата совпадает с URL.
Что происходит после проверки
Если все проверки пройдены, браузер устанавливает зашифрованное соединение и показывает значок замка. Если хотя бы одна проверка не пройдена — даже для промежуточного сертификата — браузер показывает предупреждение вроде «Ваше подключение не защищено» или «NET::ERR_CERT_AUTHORITY_INVALID».
Именно поэтому важна вся цепочка, а не только leaf-сертификат. Просроченный промежуточный сертификат нарушит HTTPS так же полностью, как и просроченный серверный сертификат.
Почему существуют промежуточные сертификаты
Корневые CA теоретически могли бы подписывать каждый серверный сертификат напрямую, полностью минуя промежуточные. Но есть три критические причины, почему они этого не делают:
Изоляция безопасности — Закрытые ключи корневого CA хранятся офлайн в HSM внутри физически защищённых хранилищ. Они используются только для подписания промежуточных, а не миллионов отдельных серверных сертификатов. Это резко снижает риск компрометации корневого ключа.
Ограничение ущерба — Если промежуточный CA скомпрометирован, затрагиваются только сертификаты этого промежуточного. Корневой CA может отозвать скомпрометированный промежуточный и выпустить новый — не аннулируя все когда-либо выданные сертификаты.
Операционная гибкость — CA используют разные промежуточные для разных целей: один для DV-сертификатов, другой для EV, отдельные для разных регионов или алгоритмов ключей (RSA vs ECDSA).
Как проверить цепочку сертификатов SSL
Существует три способа проверить цепочку сертификатов сайта — от инструментов командной строки до проверок в браузере.
Способ 1: OpenSSL (командная строка)
Команда openssl — самый подробный способ проверки цепочки сертификатов. Выполните это в терминале:
openssl s_client -connect example.com:443 -showcerts 2>/dev/null | grep -E 's:|i:'Способ 2: Просмотр сертификатов в браузере
Все основные браузеры позволяют проверить цепочку сертификатов без специальных инструментов:
Нажмите на значок замка в адресной строке браузера
Выберите «Соединение защищено» → «Сертификат действителен»
Откройте вкладку «Путь сертификации» (Chrome/Edge) или «Подробности» (Firefox)
Вы увидите полную цепочку от корневого (вверху) до leaf (внизу)
Способ 3: SSL-проверка DNS Robot
Самый быстрый способ проверить цепочку сертификатов — онлайн-инструмент. Наш SSL-проверка отображает полную цепочку, данные издателя, даты действия и статус проверки — всё в один клик. Введите любой домен и мгновенно увидите полную цепочку.
Распространённые ошибки цепочки сертификатов и их исправление
Проблемы с цепочкой сертификатов — одна из самых частых причин ошибок HTTPS. Вот ошибки, с которыми вы скорее всего столкнётесь, и способы их решения.
Отсутствующий промежуточный сертификат
Сообщение об ошибке: «unable to verify the first certificate» или «incomplete certificate chain»
Причина: Сервер отправляет только leaf-сертификат без промежуточного. Десктопные браузеры иногда обходят это, используя промежуточные из кэша предыдущих посещений, но мобильные браузеры и API-клиенты почти всегда отказывают.
Исправление: Скачайте промежуточный сертификат из документации CA и добавьте его в файл сертификата сервера. В Nginx объедините их в один файл:
cat your-domain.crt intermediate.crt > fullchain.crtСамоподписанный сертификат в цепочке
Сообщение об ошибке: «self-signed certificate in certificate chain»
Причина: Корневой сертификат был без необходимости включён в цепочку, отправляемую сервером, или сертификат действительно самоподписанный и не от доверенного CA.
Исправление: Удалите корневой сертификат из файла цепочки сервера. Сервер должен отправлять только leaf + промежуточный(е). Браузеры уже имеют корневой в хранилище доверия — отправлять его не нужно и это может вызвать эту ошибку.
Неправильный порядок сертификатов
Сообщение об ошибке: Проверка цепочки может молча завершиться неудачей или выдать предупреждения «сертификат не доверен».
Причина: Сертификаты в файле цепочки расположены в неправильном порядке.
Исправление: Правильный порядок всегда: сначала leaf-сертификат, затем промежуточный(е) от ближайшего к leaf до ближайшего к корневому. Никогда не включайте корневой сертификат.
Просроченный сертификат в цепочке
Сообщение об ошибке: «certificate has expired» — но дата истечения leaf-сертификата выглядит нормально.
Причина: Промежуточный сертификат в цепочке просрочен. Это менее распространено, но может произойти при ротации промежуточных CA.
Исправление: Скачайте текущий промежуточный сертификат у CA и замените старый. Затем используйте наш SSL-проверка для проверки обновлённой цепочки.
Лучшие практики цепочки сертификатов
Всегда устанавливайте промежуточные — Никогда не предполагайте, что браузер разберётся сам. Всегда настраивайте сервер на отправку полной цепочки (leaf + промежуточные).
Не отправляйте корневой — Браузеры уже имеют корневые сертификаты. Включение корневого тратит пропускную способность и может вызвать ошибки у некоторых клиентов.
Соблюдайте правильный порядок — Сначала leaf, затем промежуточные, без корневого. Некоторые серверы строги к порядку; другие допускают его, но могут быть медленнее при проверке.
Отслеживайте истечение сроков — Промежуточные сертификаты тоже истекают. Настройте оповещения или используйте автоматическое управление сертификатами (например, certbot с Let's Encrypt).
Проверяйте после изменений — После обновления сертификата или смены хостинга всегда проверяйте цепочку инструментом вроде нашего SSL-проверка. То, что работало до обновления, может не работать после, если CA изменил свой промежуточный.
Используйте OCSP Stapling — Включите OCSP stapling на сервере, чтобы браузеры могли быстрее проверять статус отзыва сертификатов без обращения к CA напрямую.
Проверьте цепочку сертификатов SSL прямо сейчас
Используйте бесплатный SSL-проверку от DNS Robot для проверки цепочки сертификатов, дат истечения и данных издателя — всё в один клик.
Try SSL-проверкаFrequently Asked Questions
Цепочка сертификатов SSL — это упорядоченная последовательность цифровых сертификатов, связывающая SSL-сертификат сайта с доверенным корневым Центром сертификации (CA). Обычно она включает три уровня: leaf (серверный) сертификат, один или несколько промежуточных сертификатов и корневой сертификат, которому браузер уже доверяет.