Главная/Проверка/openssl

Проверка SSL через openssl: команды и разбор вывода

Проверка SSL через openssl сводится к двум утилитам: s_client подключается к серверу и забирает сертификат, а x509 читает его и печатает срок, издателя и список доменов. Обе работают без доступа к серверу, как обычный посетитель.

4 мин чтенияДанные проверены 19 октября 2026

Ответ за 30 секунд

Для разовой проверки хватит одной строки: openssl s_client -connect сайт:443 -servername сайт. Смотрите на строку Verify return code: ноль значит, что цепочка собрана верно, любое другое число указывает на причину ошибки.

Выпуск бесплатного Let's Encrypt занимает до часа, платные сертификаты GlobalSign готовы за 15-30 минут.

Как проверить версии TLS командой openssl s_client

01 · 1 мин

Что делает каждая команда openssl при проверке SSL#

КомандаЧто делаетКогда нужна
openssl s_clientПодключается к порту, проводит рукопожатие, печатает цепочкуПроверить, что отдаёт живой сервер
openssl x509Читает один сертификат: даты, имена, издательРазобрать полученное или файл .crt и .pem
openssl verifyПроверяет цепочку по списку корневых сертификатовНайти, где разрывается цепочка

OpenSSL стоит в Linux и macOS по умолчанию. На Windows его берут из Git Bash или WSL. Сам openssl сертификаты на сайт не устанавливает: он создаёт ключ, запрос CSR и читает результат, а ставит сертификат Certbot или правка конфига веб-сервера.

02 · 1 мин

Как подключиться к сайту командой openssl s_client#

openssl s_client -connect example.ru:443 -servername example.ru

Ключ -connect задаёт адрес и порт, -servername передаёт имя сайта в расширении SNI. Без SNI сервер с несколькими сайтами на одном IP отдаст сертификат по умолчанию, и вы получите чужой результат. Выход из сессии: Ctrl+C, либо подайте на вход пустую строку командой echo | перед openssl.

Вывод длинный, читать нужно три места. Блок Certificate chain показывает цепочку: строка s: владелец, строка i: издатель.

Certificate chain
 0 s:CN = example.ru
   i:C = US, O = Let's Encrypt, CN = R11
 1 s:C = US, O = Let's Encrypt, CN = R11
   i:C = US, O = Internet Security Research Group, CN = ISRG Root X1
...
Verify return code: 0 (ok)

Если в цепочке один сертификат вместо двух-трёх, сервер не отдаёт промежуточные: такой сайт покажет ошибку недоверенного сертификата в части программ.

03 · 1 мин

Как прочитать срок, издателя и имена сертификата#

echo | openssl s_client -connect example.ru:443 -servername example.ru 2>/dev/null \
  | openssl x509 -noout -subject -issuer -dates -ext subjectAltName

Результат из четырёх блоков: subject (для кого выдан), issuer (кто выдал), notBefore и notAfter (начало и конец срока), Subject Alternative Name (все домены, на которые сертификат действует). Современные браузеры сверяют адрес именно со списком SAN, поэтому при ошибке «имя не совпадает» смотрите на него: что делать, если имя сертификата не совпадает.

Для файла на диске подключение не нужно: openssl x509 -in fullchain.pem -noout -dates. Отдельно срок разобран на странице проверка срока действия.

04 · 1 мин

Что значит Verify return code в выводе openssl#

КодСообщениеПричина
0okЦепочка собрана и доверенный корень найден
10certificate has expiredСрок сертификата вышел
18self-signed certificateСертификат самоподписанный
20unable to get local issuer certificateНе найден издатель: нет промежуточного или корневого
21unable to verify the first certificateСервер не отдал промежуточный сертификат

Для кодов 20 и 21 переходите к проверке цепочки: как проверить цепочку сертификата.

Инструмент · 1 мин

Как проверить версии TLS командой openssl s_client#

openssl s_client -connect example.ru:443 -servername example.ru -tls1_2
openssl s_client -connect example.ru:443 -servername example.ru -tls1_3

Если сервер принимает версию, в выводе появится сертификат и строка Protocol. Если нет, openssl напишет про handshake failure или no protocols available. Для старых версий ключи -tls1 и -tls1_1 в новых сборках OpenSSL могут быть отключены, и тогда проверку делают сканером. Что делать с таким результатом: неподдерживаемая версия TLS.

Какая команда openssl вам нужна

Выберите, что хотите узнать о сертификате, и получите готовую команду

Что нужно узнать

06 · 1 мин

Вопросы о проверке SSL через openssl#

Как добавить SSL-сертификат через терминал, если нужен именно openssl?

Openssl создаёт ключ и CSR командой openssl req -new -newkey rsa:2048 -nodes -keyout site.key -out site.csr и проверяет готовый сертификат. Установка идёт через Certbot или через пути в конфиге веб-сервера.

Почему openssl s_client показывает сертификат другого сайта?

Не передано имя сайта. Добавьте -servername с вашим доменом, иначе сервер вернёт сертификат по умолчанию.

Как проверить ssl через openssl в Windows?

Установите Git for Windows и запустите Git Bash: там есть openssl с теми же командами. Второй путь: WSL с любым дистрибутивом Linux.

Почему этому можно верить

Как мы проверяли

Документация и провайдерыКоманды выпуска и установки сверены с документацией, дата указана.
Всё можно повторитьКоманды certbot и openssl описаны так, что их повторит любой читатель.
Независимый справочникНе связан с центрами сертификации и честно говорит, когда хватает бесплатного SSL.

Источники цифр на этой странице: SSL-сертификаты Таймвеб, timeweb.com/ru/services/domains/ssl, проверено 19 октября 2026; Let's Encrypt: документация, letsencrypt.org/docs, проверено 19 октября 2026; OpenSSL: документация openssl-x509, docs.openssl.org/master/man1/openssl-x509, проверено 19 октября 2026.

SBРедакция SSLBase · обновлено 19 октября 2026

Подключите SSL к сайту

От бесплатного Let's Encrypt до платных сертификатов GlobalSign с гарантийной выплатой и установкой под ключ. Любой можно вернуть за 7 дней.

  • Бесплатный Let's Encrypt на домен
  • Платные от 1 000 ₽ за 6 месяцев
  • Wildcard на все поддомены
  • 7 дней на возврат
Версии TLS