0Pricing
Cyber Security Academy · Урок

Цепочки сертификатов

Проверяйте цепочки доверия

«Цепочки сертификатов» — бесплатный урок Cyber Security Academy на CoddyKit. Это урок 3 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения Cyber Security Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс Cyber Security Academy содержит 4 уроков всего.

Что такое цепочка сертификатов?

Цепочка сертификатов, или цепочка доверия, — это упорядоченный список сертификатов, связывающий конечный сертификат сервера с доверенным корневым сертификатом.

Каждый сертификат подписан сертификатом, стоящим выше в цепочке.

Три звена

Типичная цепочка состоит из трёх частей:

  • Конечный (сертификат конечного объекта) сертификат фактического сервера.
  • Промежуточный сертификат или сертификаты, подписавшие конечный сертификат.
  • Корневой сертификат, подписавший промежуточный.

Как проверка проходит по цепочке

При проверке клиент последовательно проверяет каждую подпись, двигаясь вверх:

  • Открытый ключ корневого сертификата проверяет промежуточный.
  • Открытый ключ промежуточного сертификата проверяет конечный.

Если каждая подпись успешно проверена и цепочка заканчивается доверенным корневым сертификатом, она действительна.

Просмотр цепочки работающего сервера

Просмотреть цепочку, которую предоставляет сервер, можно с помощью s_client из OpenSSL.

openssl s_client -connect example.com:443 -showcerts

Связь издателя и субъекта

Цепочки связываются по совпадающим полям: издатель сертификата совпадает с субъектом сертификата, расположенного выше.

openssl x509 -in leaf.pem -noout -issuer -subject

Проблема отсутствующего промежуточного сертификата

Очень распространённая ошибка — сервер отправляет только свой конечный сертификат и забывает о промежуточном.

В таком случае некоторые клиенты не могут построить путь до корневого сертификата и сообщают о недоверенном сертификате, хотя с технической точки зрения всё действительно.

Построение полной цепочки

Серверы должны отправлять конечный сертификат вместе со всеми промежуточными сертификатами (но обычно без корневого, который уже есть у клиентов).

Этот объединённый файл часто называют fullchain.pem.

cat leaf.pem intermediate.pem > fullchain.pem

Проверка с использованием корневого сертификата

Проверить цепочку локально можно, указав доверенный корневой сертификат.

openssl verify -CAfile root.pem -untrusted intermediate.pem leaf.pem

Правила проверки пути

Проверка — это не только проверка подписей. Клиент также проверяет следующее:

  • Срок действия каждого сертификата ещё не истёк.
  • Цепочка не была отозвана.
  • Для сертификатов CA в основных ограничениях установлен флаг CA.
  • Соблюдаются правила использования ключа и ограничения имён.

Перекрёстная подпись

Иногда новый корневой сертификат ещё не является доверенным повсеместно. Перекрёстная подпись позволяет старому, широко доверенному корневому сертификату также подписать новый промежуточный.

Это создаёт несколько действительных путей и повышает совместимость со старыми устройствами.

Почему цепочки не работают

К распространённым сбоям цепочки относятся:

  • Отсутствующий промежуточный сертификат
  • Просроченный сертификат в любом месте пути
  • Неправильный порядок в файле цепочки
  • Недоверенный или отозванный корневой сертификат

Быстрая проверка

Сервер предоставляет только свой конечный сертификат, и некоторые клиенты считают его недоверенным. Какова наиболее вероятная причина?

Итоги

Вы узнали, как цепочка сертификатов связывает конечный сертификат с доверенным корневым через промежуточные сертификаты.

  • При проверке выполняется проход по цепочке: проверяются каждая подпись, сроки действия и отзыв.
  • Серверы должны отправлять полную цепочку, чтобы избежать ошибок из-за отсутствующего промежуточного сертификата.
  • Перекрёстная подпись повышает совместимость.

Далее мы рассмотрим эксплуатационные задачи управления сертификатами.

Часто задаваемые вопросы

Урок «Цепочки сертификатов» бесплатный?

Да — полный текст урока «Цепочки сертификатов» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс Cyber Security Academy, подпишись на CoddyKit PRO. Курс Cyber Security Academy содержит 4 уроков всего.

Чему я научусь в уроке «Цепочки сертификатов»?

Проверяйте цепочки доверия Ты практикуешь Cyber Security Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.

Нужен ли мне опыт, чтобы начать Cyber Security Academy?

Предыдущий опыт не требуется. Cyber Security Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 3 из 4.

Сколько времени занимает урок «Цепочки сертификатов»?

Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.

Можно ли писать и запускать код в этом уроке Cyber Security Academy?

Да. Каждый урок Cyber Security Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.

Все уроки этого курса

  1. Инфраструктура открытых ключей
  2. Центры сертификации
  3. Цепочки сертификатов
  4. Управление сертификатами
← Назад к Cyber Security Academy