Инфраструктура и автоматизация

​

SSL/TLS-сертификаты: как работают и что проверять

Создано 10.10.2026

Обновлено 11.10.2026

Что такое SSL/TLS-сертификат и как он связан с ключами и доверием к издателю. Подключение к сайту, выпуск, замена и отзыв на одном примере.

Короткий ответ

SSL/TLS-сертификат — электронное удостоверение: он связывает открытый ключ с именем сервера или другим указанным субъектом. Эту связь цифровой подписью подтверждает издатель. При подключении клиент проверяет сертификат, а сервер доказывает владение приватным ключом. TLS защищает обмен данными; права пользователя определяет приложение.

На примере подключения к внутреннему сайту показано, какие сведения содержит сертификат, зачем серверу отдельный приватный ключ и откуда у клиента возникает доверие к издателю. Этот же пример объясняет различия между выпуском, установкой, заменой и отзывом сертификата.

Как связаны ключи, сертификат и проверка подписи?

Закрытым ключом владелец подписывает данные, открытым проверяющий проверяет подпись. Издатель подписывает сам сертификат; доверие к издателю проверяется отдельно. Контейнер PKCS#12 может объединить сертификат и ключ в одном файле, сохраняя их разными объектами.

Где нужны сертификаты и что они подтверждают

Вы открываете сайт, приложение вызывает API, сотрудник подключается к VPN. Перед обменом данными нужно удостовериться, что перед вами нужный сервер, а не подмена.

Четыре разных вопроса

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

Сертификат подтверждает связь ключа с идентичностью; сам по себе он не шифрует весь трафик и не выдаёт права в приложении. Разрешение читать отчёт или менять заказ относится к проверке авторизации API.

Что означает название SSL/TLS

«SSL-сертификат» — распространённое название сертификата для HTTPS. В современных соединениях используется TLS; SSL — название его предшественника. Сертификаты X.509 применяются и за пределами веб-сайтов: для клиентской аутентификации, сетевого доступа и других задач. Подпись документов — отдельный сценарий со своими требованиями; переносить на него правила HTTPS автоматически нельзя.

Эта страница разбирает сертификатную проверку при новом TLS-подключении. Настройка конкретного сервера, выбор алгоритмов и развёртывание центра сертификации требуют отдельной инструкции. Проверки самого приложения рассматриваются в чек-листе безопасности API.

Как связаны сертификат, ключи и доверие

Открытый и закрытый ключ: что это значит

Ключ — специальные данные, с которыми программа выполняет криптографические операции. Для подписи создают пару математически связанных ключей: открытый и закрытый. Закрытый ключ и приватный ключ — два названия одного и того же объекта.

Владелец создаёт подпись закрытым ключом. Другой участник проверяет её соответствующим открытым ключом. Поэтому открытый ключ можно передавать проверяющему, а закрытый остаётся у владельца.

В нашем примере открытый ключ сервера находится внутри его сертификата. Клиент получает этот сертификат при подключении. Закрытый ключ хранится на стороне сервера — в защищённом файле, хранилище ключей или специальном устройстве. Сервер использует его для создания подписи, не передавая клиенту.

Почему одного открытого ключа мало

Вам прислали замок, а ключ остался у получателя. Можно закрыть сундук, не зная секрета. Но чей замок приехал? Если посредник подменил его своим, отправление получит посредник. Поэтому нужно удостоверить владельца открытого ключа. Аналогия объясняет задачу, а не алгоритм TLS.

ОбъектДля чего нуженЧто важно различать
Открытый ключПозволяет проверять подписи, созданные соответствующим приватным ключом.Его можно передавать; сам по себе он не сообщает, кому следует доверять.
Приватный (закрытый) ключПозволяет владельцу создавать подпись и доказывать владение ключом.Хранится под защитой. В сертификат не входит.
СертификатСвязывает открытый ключ со сведениями о субъекте; содержит подпись издателя.Копия сертификата не является копией приватного ключа.
Центр сертификации — CAПроверяет запрос по своим правилам и подписывает сертификат.Центр выдачи и сервер приложения выполняют разные роли.
Хранилище доверияСодержит принятые проверяющей стороной опоры доверия.Сертификат, присланный незнакомым сервером, не становится доверенным автоматически.

Что находится внутри сертификата

Сертификат содержит открытый ключ, сведения о субъекте и издателе, серийный номер, срок, подпись и расширения. Для HTTPS имя проверяют по Subject Alternative Name (SAN), а не по произвольному названию записи. Правила — в RFC 9525 ↗.

На схеме — учебный сертификат для portal.example.org. Приватного ключа внутри нет: сервер хранит его отдельно и использует вместе с сертификатом.

Роль в цепочке и назначение сертификата

Корневой, промежуточный и конечный — роли сертификатов в цепочке. Они описывают участие сертификата в проверке подписей и построении пути доверия. Сам по себе корневой сертификат не становится доверенным: проверяющая сторона отдельно принимает опору доверия.

Назначение отвечает на другой вопрос: для какого применения подходит сертификат. Например, для подтверждения подлинности сервера, подтверждения клиента или подписи программ. Конечный сертификат не обязательно является сертификатом веб-сервера.

Расширение Key Usage ограничивает допустимые операции с ключом — например, создание цифровых подписей или проверку подписей сертификатов. Extended Key Usage (EKU), если присутствует, уточняет назначения применения: serverAuth означает подтверждение подлинности сервера, clientAuth — клиента. Если указаны оба расширения, применение должно соответствовать обоим. Программа учитывает эти ограничения вместе с остальными правилами проверки.

Подходящее назначение ещё не означает, что сертификат принят: отдельно проверяются срок, доверие, идентичность и другие применимые условия. Ограничения описаны в RFC 5280 .

Кому доверяет проверяющая сторона

В нашем примере сертификат подписал заранее принятый издатель. Клиент проверяет подпись и применимые ограничения сертификата. Название организации в поле Issuer ещё не доказывает подлинность: нужна криптографическая проверка. Формат сертификата описан в RFC 5280 ↗.

Доверие настраивается отдельно. Предложение незнакомого сервера «принять моего издателя» не является основанием ему доверять. Результат зависит от принятых в конкретном клиенте опор доверия и правил их использования.

Самоподписанный сертификат подписан приватным ключом, соответствующим открытому ключу в этом же сертификате. Самоподпись позволяет проверить связь подписи с этим ключом, но сама по себе не создаёт доверия к владельцу. Самоподписанным может быть и корневой сертификат центра, и сертификат отдельного сервера — это разные роли. Такой сертификат сервера может использоваться в управляемой среде с заранее принятым способом проверки. Для произвольного посетителя сайта доверие обычно отсутствует. Отключение проверки сертификата устраняет проверку подлинности, а не исправляет её.

Чем отличаются DER, PEM и PKCS#12

Один и тот же сертификат может быть представлен в бинарном формате DER или текстовом PEM. PEM-представление сертификата содержит блок с заголовком BEGIN CERTIFICATE. Преобразование между этими представлениями не выпускает новый сертификат, не меняет его срок и не добавляет приватный ключ.

DER и PEM используются также для представления других криптографических объектов, поэтому одного названия формата или расширения файла недостаточно для определения содержимого. Текстовое представление сертификата описано в RFC 7468 .

PKCS#12 — файловый контейнер, который может объединять сертификат, соответствующий приватный ключ и сертификаты издателей. Такие файлы часто имеют расширение .p12 или .pfx. Различие между сертификатом и контейнером сохраняется независимо от имени файла. В других системах ключевой контейнер криптопровайдера может иметь другое устройство и не являться одним файлом.

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

Контейнер может содержать только сертификаты, без закрытого ключа. Одного расширения файла недостаточно, чтобы определить состав. Если внутри есть закрытый ключ, файл содержит секрет: передача такого контейнера отличается от передачи открытого сертификата. Возможные состав и операции описаны в документации OpenSSL ↗.

Как проходит подключение

Условия учебного примера

В учебном примере браузер открывает https://portal.example.org. TLS завершается непосредственно на веб-сервере: там доступны сертификат и соответствующий приватный ключ. Издатель сертификата заранее принят клиентом. В реальной системе вместо веб-сервера TLS может завершать прокси или балансировщик — тогда именно он предъявляет сертификат и использует ключ.

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

Что происходит при обычном TLS

  1. Сервер предъявляет сертификат. Клиент проверяет имя по SAN, подпись принятого издателя, срок и применимые ограничения.
  2. Сервер доказывает владение ключом. При новом сертификатном соединении TLS 1.3 он подписывает данные рукопожатия. Клиент проверяет подпись открытым ключом из сертификата.
  3. Стороны защищают обмен. Данные передаются с использованием согласованных симметричных ключей сеанса. Затем приложение проверяет вход пользователя и его права.

Проверка двух подписей отвечает на разные вопросы:

  • Подпись издателя в сертификате позволяет проверить, что подписанные сведения не изменили и подпись соответствует ключу издателя. Основание доверять издателю настраивается отдельно.
  • Подпись сервера при подключении относится к данным текущего рукопожатия. Она доказывает владение соответствующим приватным ключом; копия сертификата не позволяет создать такую подпись для другого подключения.

Механизм CertificateVerify описан в актуальной спецификации TLS 1.3 — RFC 9846 ↗. На схеме показана проверка подлинности сервера, а не все сообщения протокола.

Какие данные и проверки участвуют в TLS?

Фрагмент нового сертификатного TLS 1.3 соединения. Клиент отдельно проверяет сертификат, доказательство владения ключом и завершение рукопожатия. Finished подтверждает целостность рукопожатия и владение согласованными ключами сеанса. Согласование этих ключей и часть служебных сообщений опущены; приватный ключ сервера не передаётся.

Часть подключенияУчебное значение и участник системыЧто означает результат
Адрес и точка TLSportal.example.org; веб-сервер. Владелец сервиса подтверждает адрес, администратор — точку установки.На нужном адресе предъявлен нужный сертификат, а не сертификат соседнего узла.
Серверный ключ и сертификатКлюч защищён на сервере; сертификат выдан Example Issuing CA. Устанавливает администратор.Сервер использует соответствующий ключ; клиент принимает сертификат для ожидаемого имени.
Доверие клиентаИздатель заранее принят в настройках клиента. За корпоративную настройку отвечает администратор клиента.Подпись проверяется с принятым ключом издателя; неподходящее удостоверение отклоняется.
Права приложенияПользователь report-reader входит отдельно и может только читать отчёты. Правило задаёт владелец приложения.Чтение проходит; изменение отчёта отклоняется независимо от успешного TLS.

Таблица связывает настройки и роли участников с результатом подключения. Здесь клиент проверяет сервер; вход пользователя и его права рассматриваются отдельно.

Что происходит при выпуске, замене и отзыве

Как ключ превращается в удостоверение

  1. Создают пару ключей. В нашем примере приватный ключ остаётся в защищённом хранилище сервера.
  2. Готовят CSR. Это запрос на выпуск с открытым ключом и запрашиваемыми сведениями, ещё не сертификат.
  3. Центр проверяет заявителя. Нужно подтвердить право получить сертификат с указанными именами и назначением.
  4. Получают и устанавливают сертификат. Его связывают с соответствующим приватным ключом.
  5. Проверяют реальное подключение. Наличия файла в каталоге недостаточно.

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

Какие состояния связывают выпуск и подключение?

Ключ остаётся у сервера; в CSR передаётся открытый ключ. Одобрение CA, выпуск, установка, выбор пары сервисом и успешное подключение — разные события. После перевыпуска путь установки и проверки выполняется снова; само появление нового сертификата его не заменяет.

Что именно меняется при разных действиях

ДействиеЧто меняетсяПоследствия
Переименовать записьМеняется локальная подпись или комментарий в каталоге.Подписанные сведения самого сертификата не изменились.
Перевыпустить сертификатПоявляется новый сертификат. При необходимости создаётся и новая пара ключей.Появление нового сертификата не означает его автоматической установки. Результат подключения зависит от настройки сервера и правил проверки клиентов.
Удалить запись или файлИсчезает запись каталога или локальная копия.Это не отзыв других копий. Последствия зависят от того, использовал ли сервис именно этот файл.
Отозвать сертификатИздатель сообщает, что сертификат не следует принимать до окончания срока.Проверяющие стороны получают и учитывают сведения об отзыве по принятой политике.
Удалить приватный ключУчастник теряет возможность использовать эту копию ключа.Без доступной копии соответствующего ключа участник не сможет создавать требуемые подписи. Удаление одной копии не уничтожает остальные и не отзывает сертификат.

Изменение имени, срока или другого подписанного поля нарушает прежнюю подпись. «Исправить дату окончания» не означает продлить сертификат: для нового срока нужен выпуск нового сертификата. Ротация ключей дополнительно меняет саму пару ключей.

О приближении срока должен узнавать назначенный ответственный. После замены проверяют все точки завершения TLS, сертификат и совместимость клиентов. При компрометации приватного ключа нужны новая пара, новый сертификат и действия по отзыву и ограничению использования старого.

Отзыв не гарантирует мгновенное прекращение каждого соединения. CRL распространяет список отозванных сертификатов; OCSP позволяет получать сведения о статусе. Результат зависит от обновления данных, политики клиента и поведения при недоступности проверки. Уже установленные сеансы и возобновление соединений нужно рассматривать отдельно.

Что показывает результат подключения

Успешное подключение и причины отказа

Результат относится к конкретному адресу, клиенту, предъявленному сертификату и настройкам проверки. Серийный номер вместе с издателем или отпечаток позволяет различить версии сертификата. Приватный ключ для описания результата не требуется.

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

У ошибки обычно есть конкретная сторона. «Unknown CA» направляет к настройкам доверия проверяющего; несовпадение имени — к адресу и SAN; срок — к датам сертификата и часам системы. Точный текст ошибки зависит от программы.

Отказ приложения после успешного TLS проверяют отдельно. Например, HTTP 403 может означать запрет операции; он сам по себе не доказывает ошибку сертификата. Причину устанавливают по журналу конкретной точки проверки и ответу приложения.

Частые вопросы о сертификатах

Ниже — объяснения ситуаций, в которых легко спутать сертификат, ключ, доверие и права.

  1. Сертификат скопировали на другой сервер. Этого достаточно? Нет: нужен соответствующий приватный ключ и успешные проверки клиента. Копирование контейнера с ключом меняет риск.
  2. Срок не истёк, но издателю не доверяют. Почему сертификат отклонён? Действующий срок не заменяет доверия к издателю. Клиент может отклонить сертификат, если путь проверки не достигает принятой опоры доверия.
  3. Исправили дату окончания. Это продление? Нет: изменённые данные нарушают подпись. Требуется новый сертификат, установленный и проверенный в соединении.
  4. Удалили запись из каталога. Это отзыв? Нет: запись, копия на сервере и статус у издателя — разные состояния. Дополнительные действия определяет конкретная операция.
  5. HTTPS работает, но изменить отчёт нельзя. Почему? TLS удостоверил сервер и защитил канал. Право менять отчёт определяет приложение.

Сертификат, доказательство владения ключом, настройки доверия и права приложения выполняют разные задачи. Фраза «сертификаты настроены» не описывает, какие из этих условий выполняются.

Что подтверждает успешное подключение

Успешное подключение при включённых проверках означает, что клиент принял предъявленное сервером удостоверение и подтверждение владения соответствующим ключом по своим правилам. Этот результат относится к конкретному адресу, программе и её настройкам. Другая программа может использовать другое хранилище доверия и получить отказ.

После установления защищённого соединения приложение отдельно определяет доступные операции. Поэтому работающий HTTPS и запрет на изменение отчёта могут одновременно быть штатным поведением системы.

Связанные темы

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

Обсудить проект

Если хотите применить этот материал к вашему проекту, напишите нам. Поможем уточнить вводные, риски и следующий шаг: оценку, discovery, разработку, интеграцию или сопровождение.

Связаться

Предыдущая

SSO, OIDC и LDAP