Открыть сервисСервис

Ошибка SSL-сертификата

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

Природа сертификатов

TLS-сертификат (ранее SSL-сертификат) — это цифровой документ, выпускаемый центром сертификации (CA), который связывает доменное имя сервера с его открытым ключом. Сертификат содержит сведения о владельце, срок действия, имя выпускающего центра и подпись, проверяемую клиентом. При установке соединения сервер передаёт сертификат, клиент проверяет его по цепочке доверия до корневого сертификата, встроенного в операционную систему или браузер.

Основные причины ошибок

ПричинаСуть
Истёкший сертификатПросрочен срок действия (указанный в поле Not After)
Самоподписанный сертификатОтсутствует подпись доверенного центра сертификации
Несовпадение имениCN или SAN не соответствует домену в адресной строке
Неполная цепочкаНа сервере не установлены промежуточные сертификаты
Недоверенный CAЦентр сертификации не входит в список доверенных корневых
Устаревшие шифрыИспользуются протоколы или алгоритмы, отключённые клиентом
Ошибка системного времениЧасы клиента или сервера сбиты, проверка даты не проходит
Нарушение OCSP/CRLСервер не отвечает на запросы проверки отзыва сертификата

Типичные сообщения об ошибках

Браузеры показывают разные тексты в зависимости от характера проблемы:

  • «Небезопасное соединение» / «Ваше соединение не защищено» — общий случай, чаще всего вызван истёкшим сертификатом или несовпадением имени.
  • «ERR_CERT_DATE_INVALID» — просроченный сертификат или сбитые часы.
  • «ERR_CERT_AUTHORITY_INVALID» — сертификат выдан неизвестным или самоподписанным центром.
  • «ERR_CERT_COMMON_NAME_INVALID» — сертификат выпущен на другое доменное имя.
  • «SSL_ERROR_BAD_CERT_DOMAIN» в Firefox — несовпадение домена.

Что делать пользователю

В большинстве случаев рекомендуется не обходить предупреждение, а проверить:

  1. Правильность введённого адреса — опечатка в домене (например, вместо .ru набрано .рф или лишняя буква) часто вызывает ошибку несовпадения имени.
  2. Системное время устройства — часы и часовой пояс должны быть корректными.
  3. Состояние сертификата — через свойства соединения (значок замка в адресной строке) можно увидеть срок действия и издателя.
  4. Сеть — корпоративные прокси и антивирусы могут подменять сертификаты, что вызывает ошибку доверия.

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

Что делать администратору

Для владельца сайта ошибка означает необходимость:

  • перевыпустить сертификат до истечения срока (автоматизация через ACME-протокол и Let's Encrypt позволяет делать это бесплатно);
  • установить полную цепочку сертификатов — на сервере должны лежать и промежуточные сертификаты;
  • проверить соответствие SAN доменам, включая поддомены и www-вариант;
  • настроить корректное системное время на сервере;
  • убедиться, что корневые сертификаты CA актуальны (например, переход с DST Root CA X3 на ISRG Root X1 при работе с Let's Encrypt).

Статистика и распространённость

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

Интересные факты

  • В 2020 году массовые ошибки сертификатов затронули тысячи сайтов после истечения корневого сертификата DST Root CA X3 от Let's Encrypt — часть клиентов с устаревшими списками доверия не смогла открыть сайты.
  • Браузеры постепенно отказываются от предупреждений с возможностью «продолжить на свой риск» — для самоподписанных сертификатов путь к обходу предупреждения становится менее очевидным.

Источники:

  • RFC 5280 — Internet X.509 Public Key Infrastructure Certificate and Certificate Revocation List (CRL) Profile
  • RFC 8446 — The Transport Layer Security (TLS) Protocol Version 1.3
  • Документация Mozilla: Certificate Error Messages
  • Документация Google Chrome: Certificate Errors
  • Let's Encrypt: Chain of Trust
Заметили ошибку или не согласны с информацией в статье? Напишите нам support@bfometr.ru