Поддержка и абонентское обслуживание

Как проверить SSL-сертификат сайта через OpenSSL?

Владимир, Барнаул 0

После обновления сертификата хочу сам убедиться, что всё встало правильно, а не ждать, пока это заметят посетители по крестику в адресной строке. Слышал, что это можно проверить через OpenSSL из терминала - как именно?

Дмитрий Акиндинов технический администратор сайтов

ответил

Проверить сертификат из терминала можно командой `openssl s_client -connect site.ru:443 -servername site.ru` (вместо site.ru — домен сайта). Она откроет соединение с сервером и выведет всю цепочку сертификатов. Чтобы сразу увидеть срок действия, эту команду комбинируют с `| openssl x509 -noout -dates` — в ответе будут две строки: `notBefore` и `notAfter`, дата начала и окончания действия сертификата.

Параметр `-servername` обязателен, если на сервере несколько сайтов на одном IP (SNI): без него сервер может отдать сертификат не того домена, который проверяется, и результат окажется обманчивым.

В выводе команды стоит смотреть на три вещи: срок действия (не истёк ли, не наступит ли это в ближайшую неделю), издателя сертификата (`issuer`) — должен быть известный удостоверяющий центр, а не самоподписанный сертификат, и полноту цепочки — помимо сертификата самого домена сервер должен отдавать и промежуточный сертификат, иначе часть браузеров и не все почтовые клиенты будут ругаться на недоверенное соединение.

Если строка терминала неудобна или нужно быстро показать результат клиенту без установки OpenSSL на его компьютер, тот же результат в наглядном виде дают онлайн-инструменты вроде SSL Labs — они дополнительно проверяют поддерживаемые протоколы и известные уязвимости настройки TLS. Для разовой проверки после обновления сертификата команды OpenSSL быстрее: результат виден сразу в том же окне, где выполнялось обновление.

Задать свой вопрос

Вопросы проходят модерацию. Ответ появляется на сайте в течение пары дней.

Похожие вопросы

Все вопросы по теме "Поддержка и абонентское обслуживание"

Заявка

Обсудим задачу

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

Куда удобнее ответить?