Цепочка сертификатов SSL: от сайта до корня и зачем нужен fullchain, коротко и с данными
Конспект страницы: 5 разделов коротко, данные на 19 октября 2026 и ответы на 4 вопроса. Полный разбор с примерами: Цепочка сертификатов SSL: от сайта до корня и зачем нужен fullchain. Карточки с фото занимают больше места, чем текстовые страницы: пример такой карточки «Очки Saint Laurent Eyewear Loulou».
Коротко
Главная / Что это / Цепочка сертификатов Цепочка сертификатов это ряд звеньев, по которому браузер доходит от сертификата сайта через промежуточный до корневого, который он уже знает. Сервер должен отдавать сертификат сайта вместе с промежуточными, то есть файл fullchain, иначе часть устройств покажет ошибку доверия. Цепочка связывает сертификат сайта с корневым, которому доверяет браузер, через промежуточные звенья.
Конспект по разделам
Из каких звеньев состоит цепочка сертификатов
Промежуточных звеньев бывает больше одного. Они нужны потому, что закрытый ключ корня центр сертификации хранит отдельно от рабочих систем и почти не использует. Подписывают сайты промежуточные ключи, и при их проблеме отзывают одно звено, не меняя корень.
Как браузер идёт по цепочке сертификатов
Если звена не нашлось, соединение обрывается с ошибкой вроде NET::ERR_CERT_AUTHORITY_INVALID. Некоторые клиенты, например Chrome, умеют докачать недостающий промежуточный сертификат по ссылке из самого сертификата, а curl и OpenSSL нет. Поэтому сайт может открываться в браузере и давать ошибку в скрипте или приложении: разбор в статье сертификат не доверен.
- Берёт сертификат сайта и читает в нём поле «Кем выдан».
- Ищет сертификат этого издателя среди присланных сервером, в своём кэше или в списке доверенных.
- Повторяет поиск звено за звеном, пока не найдёт корневой из списка доверенных.
- Проверяет на каждом звене подпись, срок действия и назначение сертификата.
Зачем нужен fullchain.pem и какой файл отдавать серверу
Certbot после выпуска кладёт в папку домена четыре файла: privkey.pem (закрытый ключ), cert.pem (только сертификат сайта), chain.pem (только промежуточные) и fullchain.pem (сертификат сайта и промежуточные подряд). Серверу нужен последний, а ключ идёт отдельной строкой. В Nginx это выглядит так: Выберите файл, который у вас есть, и узнайте, подходит ли он Пошаговая настройка: SSL в Nginx.
Как собрать цепочку вручную для платного сертификата
Платные центры сертификации присылают сертификат сайта и отдельный файл с промежуточными (его называют ca-bundle или chain). Склейте их в один файл: первым идёт сертификат сайта, за ним промежуточные по порядку вверх, корневой в конец не добавляют. Порядок важен: Nginx читает первым сертификат сайта, и если поставить его после промежуточных, сервер не запустится или отдаст неверную цепочку.
Как увидеть цепочку своего сайта командой
Команда покажет все сертификаты, которые сервер отдаёт при подключении: В выводе блок «Certificate chain» перечисляет звенья с номерами 0, 1, 2: строка s это владелец сертификата, строка i его издатель. У номера 0 издатель должен совпадать с владельцем номера 1. Онлайн-проверки и разбор вывода: проверка цепочки сертификатов.
Данные
| Звено | Кто подписал | Где лежит |
|---|---|---|
| Корневой сертификат | Сам себя | В списке доверенных системы и браузера, сервер его не отдаёт |
| Промежуточный сертификат | Корневой | На сервере вместе с сертификатом сайта |
| Сертификат сайта | Промежуточный | На сервере |
Данные на 19 октября 2026.
Вопросы и ответы
Как сделать цепочку сертификатов SSL из отдельных файлов?
Склейте их в один файл командой cat: сначала сертификат сайта, затем промежуточные. Корневой сертификат в файл не добавляют.
Нужно ли отдавать корневой сертификат вместе с цепочкой?
Нет. Корневой сертификат уже есть в списке доверенных у клиента, а лишний файл только увеличивает объём передаваемых данных.
Сколько звеньев в цепочке сертификатов?
Обычно три: сертификат сайта, промежуточный и корневой. У некоторых центров промежуточных звеньев два и больше.
Почему сайт открывается в Chrome, а curl ругается на сертификат?
Chrome может докачать недостающий промежуточный сертификат сам, curl берёт только то, что отдал сервер. Исправление одно: отдавать на сервере сертификат вместе с промежуточными.