
Цепочка SSL сертификатов представляет собой последовательность цифровых сертификатов, которая связывает серверный сертификат с доверенным корневым центром сертификации. Каждый элемент цепочки играет конкретную роль: корневой сертификат подтверждает доверие, промежуточный обеспечивает делегирование подписи, а серверный гарантирует безопасное соединение для пользователей.
Для правильной работы HTTPS необходимо соблюдать строгую последовательность при создании и установке сертификатов. Генерация приватного ключа должна проходить в безопасной среде, а запрос на сертификат (CSR) должен содержать корректные данные о домене и организации. Ошибки в CSR или несоответствие стандартам X.509 могут привести к недоверию браузеров и отказу от подключения.
Подписание серверного сертификата промежуточным центром сертификации требует точного соблюдения формата и структуры цепочки. После объединения корневого, промежуточного и серверного сертификатов важно проверить цепочку на корректность с помощью специализированных утилит, таких как OpenSSL или онлайн-сервисы проверки SSL. Это позволяет выявить пропущенные сертификаты или несоответствия в порядке подписей до установки на сервер.
В статье подробно рассмотрены все этапы: выбор типа сертификата, генерация ключей, подписание, объединение цепочки и проверка работы на веб-сервере. Для каждого шага приведены практические рекомендации и возможные ошибки, которые встречаются при настройке, что позволяет подготовить полностью рабочую и доверенную цепочку SSL сертификатов.
Выбор подходящего типа SSL сертификата для цепочки

При формировании цепочки SSL сертификатов важно правильно определить тип сертификата для каждого уровня. Корневой сертификат обычно выпускается доверенным центром сертификации (CA) и хранится в защищенном хранилище, так как компрометация ключа нарушает доверие всей цепочки.
Промежуточные сертификаты используются для делегирования подписи серверных сертификатов. Выбор между одним или несколькими промежуточными сертификатами зависит от структуры организации: крупные компании создают несколько промежуточных уровней для разделения прав и минимизации риска компрометации.
Серверный сертификат должен соответствовать конкретному домену или набору доменов. Для нескольких поддоменов используют Wildcard сертификаты, для разных доменов – SAN (Subject Alternative Name) сертификаты. Каждая опция влияет на длину и структуру цепочки, а также на требования к установке и проверке доверия браузеров.
При выборе сертификатов необходимо учитывать срок действия, алгоритм подписи и поддержку современных протоколов TLS. Сертификаты с устаревшими алгоритмами (например, SHA-1) не поддерживаются современными браузерами и нарушают работу HTTPS. Рекомендуется использовать SHA-256 с ключами длиной не менее 2048 бит для промежуточных и серверных сертификатов.
Генерация приватного ключа и запроса на сертификат (CSR)
Приватный ключ создается на сервере с использованием криптографических библиотек, таких как OpenSSL, и должен храниться в защищенном месте. Для надежности рекомендуется ключ длиной 2048 бит и алгоритм RSA или ECC с кривой P-256. Компрометация приватного ключа делает невозможной защиту данных и доверие к сертификату.
Запрос на сертификат (CSR) формируется на основе приватного ключа и содержит информацию о домене, организации и местоположении. В CSR важно корректно указать Common Name (CN), соответствующий основному домену, и при необходимости добавить Subject Alternative Name (SAN) для дополнительных доменов. Ошибки в этих полях приводят к отклонению сертификата или недоверию браузеров.
При создании CSR следует выбирать точный алгоритм подписи, совпадающий с требованиями промежуточного и корневого сертификатов. Использование SHA-256 гарантирует совместимость с современными браузерами. После генерации CSR рекомендуется проверить его содержимое с помощью утилит OpenSSL, чтобы убедиться в корректности всех данных и соответствия стандартам X.509.
Сгенерированный CSR передается в центр сертификации для подписания. Важно не передавать приватный ключ и избегать хранения CSR с открытым ключом в публичных местах, чтобы предотвратить возможность подмены сертификата или атак типа man-in-the-middle.
Подпись сертификата промежуточным центром сертификации

Промежуточный центр сертификации (Intermediate CA) подписывает серверные сертификаты, создавая доверенную цепочку между корневым сертификатом и конечным сервером. Процесс подписи требует строгого соблюдения формата X.509 и использования корректного алгоритма подписи, обычно SHA-256 с RSA или ECC.
Для подписи серверного сертификата промежуточным CA используется его приватный ключ. Сигнатура добавляется к сертификату, фиксируя его владельца, срок действия и ограничения по использованию ключа (Key Usage). Любое несоответствие этим параметрам приводит к отказу браузеров в доверии.
Ниже приведена таблица, описывающая основные параметры подписи и их значения:
| Параметр | Описание | Рекомендованное значение |
|---|---|---|
| Алгоритм подписи | Криптографическая функция для создания цифровой подписи | SHA-256 с RSA или ECC P-256 |
| Срок действия | Период, в течение которого сертификат считается действительным | Не более 2–3 лет для промежуточных сертификатов |
| Key Usage | Назначение ключа сертификата | Digital Signature, Key Encipherment |
| Basic Constraints | Указывает, является ли сертификат CA и его уровень в цепочке | CA:TRUE для промежуточного сертификата |
После подписания сертификат промежуточного уровня необходимо проверить на соответствие требованиям браузеров и серверов. Для этого используют OpenSSL: команда openssl verify -CAfile intermediate.crt server.crt позволяет убедиться, что цепочка корректна и доверие не нарушено.
Проверка соответствия сертификатов стандартам X.509

Сертификаты SSL должны соответствовать стандарту X.509 версии 3, который определяет структуру, поля и допустимые расширения. В проверке важны ключевые поля: Subject, Issuer, Validity, Subject Public Key Info и расширения Key Usage и Extended Key Usage. Неправильное заполнение этих полей нарушает доверие цепочки.
Для проверки сертификата используют утилиты OpenSSL. Команда openssl x509 -in server.crt -text -noout позволяет получить полное содержание сертификата и проверить соответствие стандарту. Особое внимание уделяется срокам действия, алгоритму подписи и длине ключа: ключи должны быть не меньше 2048 бит для RSA и использовать современные алгоритмы подписи SHA-256.
Расширения сертификата проверяют на соответствие роли. Для серверных сертификатов Key Usage должен содержать Digital Signature и Key Encipherment, Extended Key Usage – TLS Web Server Authentication. Для промежуточных сертификатов Basic Constraints должны быть CA:TRUE, а Path Length ограничен числом возможных уровней ниже.
После визуальной проверки рекомендуется использовать автоматические инструменты для анализа цепочки, например openssl verify -CAfile chain.pem server.crt, чтобы убедиться, что каждый сертификат подписан корректно и цепочка доверия полностью соблюдена. Это исключает ошибки при установке на сервер и гарантирует доверие браузеров.
Объединение корневого, промежуточного и серверного сертификатов в цепочку

Для корректной работы HTTPS необходимо собрать все элементы цепочки в правильном порядке. Неправильная последовательность приводит к отказу браузеров в доверии. Цепочка формируется следующим образом:
- Серверный сертификат – размещается первым, содержит информацию о домене и публичный ключ сервера.
- Промежуточный сертификат – подписывает серверный сертификат, обеспечивает связь с корневым центром.
- Корневой сертификат – устанавливается в доверенные хранилища браузеров и систем, завершает цепочку.
Процесс объединения сертификатов выполняется с помощью текстового редактора или утилиты OpenSSL. Формат PEM требует последовательного размещения каждого сертификата, начиная с серверного и заканчивая корневым:
- Открыть серверный сертификат и вставить его содержимое в новый файл chain.pem.
- Добавить содержимое промежуточного сертификата после серверного.
- Добавить содержимое корневого сертификата в конец файла.
После объединения важно проверить целостность цепочки:
- Использовать openssl verify -CAfile chain.pem server.crt для проверки корректности подписей.
- Убедиться, что промежуточный сертификат правильно ссылается на корневой.
- Проверить соответствие ключей алгоритмам и длинам, указанным в стандарте X.509.
Правильно собранная цепочка обеспечивает доверие пользователей и предотвращает ошибки типа “ERR_CERT_AUTHORITY_INVALID” при подключении к серверу.
Установка цепочки SSL на веб-сервер и проверка работы

Установка цепочки SSL начинается с копирования объединённого файла сертификатов и приватного ключа на сервер. Для Apache это обычно директория /etc/ssl/, для Nginx – /etc/nginx/ssl/. Файлы должны иметь права доступа, ограничивающие чтение только для пользователя сервера.
В конфигурации сервера указываются пути к сертификату, промежуточным сертификатам и приватному ключу. Для Apache это директивы SSLCertificateFile и SSLCertificateKeyFile, а промежуточные сертификаты задаются через SSLCertificateChainFile. Для Nginx используется директива ssl_certificate, которая указывает на файл chain.pem, и ssl_certificate_key для приватного ключа.
После внесения конфигурации сервер необходимо перезапустить или перезагрузить, чтобы применить изменения. Проверка работы выполняется с помощью браузера и утилит командной строки:
- openssl s_client -connect example.com:443 -servername example.com – проверка корректности цепочки и алгоритмов.
- Онлайн-сервисы проверки SSL, такие как SSL Labs, позволяют убедиться в полном доверии цепочки и отсутствии ошибок.
Необходимо убедиться, что сервер передаёт всю цепочку, включая промежуточные сертификаты. Отсутствие промежуточных сертификатов вызывает ошибки ERR_CERT_AUTHORITY_INVALID и проблемы с мобильными устройствами и браузерами.
После успешной установки и проверки цепочки обеспечивается полноценная защита данных и корректное доверие со стороны всех клиентов, поддерживающих протокол TLS.
Диагностика ошибок и устранение проблем с цепочкой сертификатов

Ошибки в цепочке SSL чаще всего связаны с неправильным порядком сертификатов, устаревшими алгоритмами или отсутствием промежуточных сертификатов. Для диагностики используют команды OpenSSL и специализированные онлайн-сервисы.
Основные шаги проверки и исправления цепочки:
- Проверка цепочки: команда openssl verify -CAfile chain.pem server.crt выявляет недостающие или некорректно подписанные сертификаты.
- Анализ алгоритмов и ключей: убедиться, что серверный и промежуточный сертификаты используют SHA-256 и ключи не менее 2048 бит для RSA или P-256 для ECC.
- Проверка сроков действия: просмотреть поля Not Before и Not After с помощью openssl x509 -in server.crt -text -noout. Протухшие сертификаты заменяются новыми.
- Проверка расширений: убедиться, что Key Usage и Extended Key Usage соответствуют роли сертификата (серверный или промежуточный).
- Проверка конфигурации сервера: убедиться, что сервер передаёт полный chain.pem, а пути к ключам и сертификатам указаны правильно.
Для устранения проблем:
- Пересобрать chain.pem в правильном порядке: серверный → промежуточный → корневой.
- Заменить устаревшие сертификаты и ключи на современные с SHA-256 и корректной длиной ключа.
- Обновить конфигурацию веб-сервера и перезапустить его после внесения изменений.
- Использовать онлайн-инструменты проверки SSL, такие как SSL Labs, для окончательной верификации доверия и корректности цепочки.
Систематическая диагностика и исправление цепочки предотвращает ошибки подключения, повышает доверие пользователей и обеспечивает стабильную работу HTTPS.
Вопрос-ответ:
Что такое цепочка SSL сертификатов и зачем она нужна?
Цепочка SSL сертификатов — это последовательность сертификатов, где серверный сертификат подписан промежуточным центром сертификации, а промежуточный — корневым. Она гарантирует, что браузеры и системы доверяют серверу и обеспечивают защищённое соединение через HTTPS. Без правильной цепочки пользователи могут получать ошибки подключения или предупреждения о недоверенном сайте.
Как выбрать тип сертификата для сервера и промежуточного центра?
Для сервера выбирают сертификат, соответствующий домену: одиночный для одного домена, Wildcard для поддоменов, SAN для нескольких доменов. Промежуточный сертификат подписывается корневым CA и может использоваться для выпуска нескольких серверных сертификатов. Длина ключа и алгоритм подписи должны соответствовать современным требованиям безопасности — RSA 2048+ или ECC P-256 с SHA-256.
Какие шаги включает генерация приватного ключа и CSR?
Сначала на сервере создаётся приватный ключ, который нужно хранить в защищённом месте. Затем формируется запрос на сертификат (CSR), который содержит данные о домене и организации. В CSR важно корректно указать Common Name (CN) и при необходимости Subject Alternative Name (SAN). После проверки CSR передаётся центру сертификации для подписания.
Как проверить правильность цепочки сертификатов перед установкой на сервер?
Проверка включает использование утилиты OpenSSL: команда openssl verify -CAfile chain.pem server.crt показывает, правильно ли подписаны сертификаты и нет ли пропусков. Следует проверить соответствие стандарту X.509, корректность алгоритмов и ключей, сроки действия и расширения Key Usage и Extended Key Usage. Также полезны онлайн-сервисы для проверки полной цепочки на соответствие браузерам.
Какие ошибки чаще всего встречаются при установке цепочки на веб-сервер?
Наиболее распространённые ошибки — отсутствие промежуточных сертификатов в файле chain.pem, неправильный порядок сертификатов, использование устаревших алгоритмов подписи или коротких ключей, а также некорректные права доступа к приватному ключу. Эти ошибки вызывают предупреждения в браузерах, отказ HTTPS и проблемы с мобильными устройствами. Их устраняют пересборкой цепочки в правильном порядке, обновлением ключей и сертификатов и проверкой конфигурации сервера.
