Как проверить SSL-сертификат сайта онлайн
Инструмент подключается к сайту по TLS на порт 443 с сервера PingDesk, получает сертификат и показывает главное: сколько дней осталось до истечения, кем он выпущен, на какой домен и альтернативные имена (SAN) действует, даты начала и окончания, серийный номер и отпечаток SHA-256.
Соединение устанавливается со стандартной проверкой доверия — так же строго, как это делают HTTP-клиенты, интеграции и большинство API. Если сертификат просрочен, не подходит к домену, самоподписан или сервер отдаёт неполную цепочку, вместо карточки сертификата вы увидите текст ошибки. Так можно быстро понять, почему сайт ругается в браузере, в curl или у партнёрского сервиса.
Как пользоваться проверкой SSL
- 1Введите домен, например example.ru. Можно вставить ссылку целиком: https://, путь и номер порта будут отброшены — проверка всегда идёт на стандартный порт 443.
- 2Нажмите «Проверить». Сервис передаёт имя домена в TLS-рукопожатии (SNI), поэтому на сервере с несколькими сайтами вы получите сертификат именно нужного домена.
- 3Посмотрите на число «Осталось дней». Цвет подсказывает срочность: зелёный — больше 30 дней, жёлтый — от 15 до 30, оранжевый — от 8 до 14, красный — 7 дней и меньше.
- 4Сверьте поля «Издатель» и «Субъект» и список SAN: проверяемый домен должен быть в SAN — напрямую или через wildcard вида *.example.ru. Сервис показывает количество имён и первые 20 из них.
- 5Если вместо результата появилась ошибка, найдите её текст в таблице ниже — по нему обычно сразу понятна причина: истёкший срок, несовпадение имени или недоверенный издатель.
Ошибки SSL-сертификата: что они означают
Браузер и проверка описывают одни и те же проблемы разными словами. В таблице — частые ошибки Chrome, соответствующий ответ проверки PingDesk и что с ними делать.
| Ошибка в браузере | Ответ проверки | Причина и решение |
|---|---|---|
| NET::ERR_CERT_DATE_INVALID | certificate has expired, certificate is not yet valid | Сертификат истёк или ещё не начал действовать — перевыпустите его. Если проверка показывает нормальный срок, а ошибка только у одного пользователя, у него неверное системное время |
| NET::ERR_CERT_COMMON_NAME_INVALID | Hostname/IP does not match certificate's altnames | Домена нет в SAN: например, сертификат выпущен на example.ru без www.example.ru. Перевыпустите сертификат со всеми нужными именами |
| NET::ERR_CERT_AUTHORITY_INVALID | self-signed certificate, unable to get local issuer certificate | Сертификат самоподписан или выпущен центром, которому клиент не доверяет. Нужен сертификат публичного удостоверяющего центра |
| Часто ошибки нет | unable to verify the first certificate | Сервер не отдаёт промежуточный сертификат. Подключите файл с полной цепочкой (fullchain) вместо одиночного сертификата |
| ERR_SSL_VERSION_OR_CIPHER_MISMATCH | Ошибка TLS-рукопожатия | Сервер поддерживает только устаревшие TLS 1.0 и 1.1 или слабые шифры. Включите TLS 1.2 и TLS 1.3 |
| NET::ERR_CERT_REVOKED | Не проверяется | Удостоверяющий центр отозвал сертификат — например, после компрометации ключа. Выпустите новый |
Неполная цепочка сертификатов: почему в браузере всё работает
Сертификат сайта подписан промежуточным сертификатом удостоверяющего центра, а тот — корневым, который хранится в системе или браузере. Сервер должен отдавать сертификат сайта вместе со всеми промежуточными; корневой отдавать не нужно.
Если промежуточного сертификата нет, настольные браузеры часто справляются сами: Chrome и Edge умеют докачивать недостающее звено по ссылке из сертификата, а Firefox заранее хранит список промежуточных сертификатов. Поэтому сайт открывается у вас, но падает у curl, PHP, Python, мобильных приложений, платёжных и других вебхуков. Проверка PingDesk в таком случае вернёт unable to verify the first certificate.
Исправление — указать в конфигурации файл с полной цепочкой. В nginx директива ssl_certificate должна ссылаться на fullchain.pem, а не на cert.pem; у certbot оба файла лежат в /etc/letsencrypt/live/<домен>/. Отданную цепочку можно посмотреть командой openssl s_client -connect example.ru:443 -servername example.ru -showcerts.
Типы сертификатов: DV, OV, EV и wildcard
Уровень проверки не влияет на стойкость шифрования: DV-сертификат защищает соединение так же, как EV. Разница в том, что удостоверяющий центр проверил перед выпуском и какие сведения попали в сертификат.
| Тип | Что проверяет УЦ | Где применяется |
|---|---|---|
| DV (Domain Validation) | Только контроль над доменом: DNS-запись, файл на сайте или письмо на служебный адрес | Большинство сайтов; Let's Encrypt выпускает только DV |
| OV (Organization Validation) | Контроль над доменом и существование организации | Корпоративные сайты, когда реквизиты в сертификате важны для партнёров |
| EV (Extended Validation) | Расширенная проверка организации | Шифрование то же, а с 2019 года браузеры не выделяют EV в адресной строке |
| Wildcard (*.example.ru) | Как у DV или OV | Поддомены одного уровня: shop.example.ru, но не example.ru и не a.shop.example.ru |
| Мультидоменный (SAN) | Как у DV, OV или EV | Несколько разных доменов в одном сертификате |
Почему важен именно SAN
Браузеры давно не проверяют имя сайта по полю Common Name (в результате оно показано как «Субъект») — только по списку Subject Alternative Name. Поэтому, если домена нет в SAN, сертификат для него недействителен, даже когда CN совпадает.
Срок действия сертификатов и автопродление Let's Encrypt
Let's Encrypt выдаёт сертификаты на 90 дней и рассчитывает на автоматическое продление: certbot по умолчанию обновляет сертификат, когда до окончания остаётся 30 дней. Сам Let's Encrypt объявил о поэтапном сокращении срока своих сертификатов до 45 дней.
Для платных сертификатов максимальный срок тоже сокращается — по решению CA/Browser Forum 2025 года. Уже выпущенные сертификаты действуют до своей даты окончания.
| Дата выпуска | Максимальный срок |
|---|---|
| до 15 марта 2026 года | 398 дней |
| с 15 марта 2026 года | 200 дней |
| с 15 марта 2027 года | 100 дней |
| с 15 марта 2029 года | 47 дней |
Почему автопродление перестаёт работать
Чем короче срок сертификата, тем чаще срабатывает автоматика и тем дороже её тихий сбой. Типичные причины:
- Сайт переехал на другой сервер или сменились DNS-записи, и проверка домена не проходит.
- Закрыт порт 80 или редирект ломает путь /.well-known/acme-challenge/.
- После переезда не перенесли таймер или cron-задачу certbot.
- Сертификат обновился, но веб-сервер не перезагрузили, и он продолжает отдавать старый.
Сертификаты Минцифры и проверка доверия
С 2022 года Национальный удостоверяющий центр Минцифры выпускает TLS-сертификаты для российских сайтов, которые не могут получить их у зарубежных центров. Корневой сертификат НУЦ — Russian Trusted Root CA — по умолчанию доверен в Яндекс Браузере и браузере «Атом», а в Chrome, Firefox, Safari и большинстве операционных систем его нужно устанавливать вручную.
Проверка PingDesk использует общепринятый набор доверенных корневых сертификатов. Поэтому сайт, на котором установлен только сертификат НУЦ, вернёт ошибку недоверенного издателя — например, unable to get local issuer certificate. Так же его увидят посетители без установленного корня НУЦ, поэтому для публичного сайта с широкой аудиторией такой сертификат не должен быть единственным.
Частые вопросы
Как узнать, когда истекает SSL-сертификат сайта?
+
Введите домен в форму выше — сервис покажет дату окончания и число оставшихся дней. В браузере то же можно посмотреть, нажав на значок слева от адреса и открыв сведения о сертификате.
Почему браузер пишет, что сертификат недействителен, хотя он не истёк?
+
Частые причины: домена нет в списке SAN, сервер не отдаёт промежуточный сертификат, сертификат выпущен недоверенным центром или на компьютере неверное системное время. Проверка на этой странице покажет текст ошибки, по которому причину легко уточнить.
Что такое SAN в SSL-сертификате?
+
Subject Alternative Name — список доменных имён, для которых действует сертификат. Браузеры проверяют имя сайта именно по SAN, а не по Common Name, поэтому все нужные варианты, включая www, должны быть в этом списке.
Покрывает ли wildcard-сертификат основной домен?
+
Нет. Сертификат *.example.ru действует для поддоменов одного уровня — www.example.ru или shop.example.ru, — но не для самого example.ru и не для a.shop.example.ru. Обычно основной домен добавляют в SAN отдельным именем.
Как не пропустить окончание сертификата Let's Encrypt?
+
Автопродление стоит дополнить внешним SSL-мониторингом. Он предупредит, если certbot перестал срабатывать после переезда или новый сертификат выпущен, но веб-сервер продолжает отдавать старый.
Сайт открывается в Chrome, а проверка пишет unable to verify the first certificate. Почему?
+
Сервер не отдаёт промежуточный сертификат. Chrome на компьютере докачивает его сам, а curl, серверные HTTP-клиенты и многие мобильные приложения — нет. Укажите в конфигурации веб-сервера файл с полной цепочкой, например fullchain.pem.
Проверяет ли инструмент отзыв сертификата и версию TLS?
+
Отзыв сертификата не проверяется, версия протокола и шифры не выводятся. Однако если сервер поддерживает только TLS 1.0 или 1.1, соединение не установится и вы увидите ошибку рукопожатия.
Можно ли проверить сертификат на нестандартном порту?
+
Нет, проверка всегда идёт на порт 443, а указанный в адресе порт отбрасывается. Для другого порта воспользуйтесь командой openssl s_client -connect example.ru:8443 -servername example.ru.