SmartQuery /ВОПРОС → ПРИМЕР → ПОНЯТНЫЙ ОТВЕТ
Вопросы и понятия

Серверные и клиентские сертификаты TLS

У TLS нет отдельного универсального «клиент-серверного сертификата». Сертификат связывает открытый ключ с идентификационными данными и содержит подпись издателя. Важно различать серверный сертификат для проверки сервера и клиентский сертификат для проверки клиента при взаимной аутентификации.

Обычное соединение HTTPS

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

Когда нужен клиентский сертификат

При взаимной TLS-аутентификации (mTLS) сервер дополнительно запрашивает сертификат клиента и проверяет его по собственной политике доверия. Это отдельная настройка: браузеру не требуется персональный клиентский сертификат для каждого обычного HTTPS-сайта. Успешная проверка сертификата не выдаёт автоматически все права в приложении — авторизацию всё равно определяет сервис.

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

  1. Будущий владелец создаёт ключевую пару и запрос на выпуск сертификата. Закрытый ключ защищают; он не является публичной частью сертификата.
  2. Удостоверяющий центр проверяет запрос по процедуре для данного типа сертификата и подписывает сертификат своим ключом. Набор проверок зависит от политики центра и назначения.
  3. Владелец устанавливает сертификат и необходимые промежуточные сертификаты, сохраняя доступ к своему закрытому ключу.
  4. Во время TLS-обмена подпись CertificateVerify подтверждает владение соответствующим закрытым ключом; одной копии публичного сертификата для этого недостаточно.

Что проверять при ошибке

  • Цепочку до доверенного центра, срок действия и корректность времени.
  • Имя сервера для серверного сертификата и разрешённое назначение ключа.
  • Для mTLS — запрашивает ли сервер клиентский сертификат и доверяет ли его издателю.
  • Доступ приложения к закрытому ключу и правила отзыва сертификатов в используемой системе.

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

Документация