OpenSSL: Проверка SSL Сертификата — Срок Действия

Из этой статьи вы узнаете, как подключиться к сайту по HTTPS и проверить срок действия SSL сертификата из командной строки в Linux.

Помимо срока действия, я покажу, как узнать кем выдан SSL сертификат, кому он выдан, его SHA1 отпечаток и другую полезную информацию.

Пользователи Linux могут легко проверить срок действия SSL сертификата из командной строки в Linux, с помощью утилиты openssl, которая может подключаться к удаленному сайту по HTTPS, декодировать SSL сертификат и извлекать из него всю необходимую информацию.

Дельный Совет: Если в скором времени оканчивается срок действия вашего SSL сертификата — вам будет необходимо сгенерировать новый CSR! В Linux это можно легко сделать с помощью одной строки! Читать далее →

Проверить Срок Действия SSL Сертификата

Выполните следующую команду из командной строки в Linux, чтобы узнать срок действия SSL сертификата, с помощью openssl:

$ echo | openssl s_client -servername ИМЯ -connect ХОСТ:ПОРТ 2>/dev/null | openssl x509 -noout -dates

Краткое разъяснение:

Опция Описание
-connect ХОСТ:ПОРТ Хост и порт для подключения.
-servername ИМЯ TLS SNI (Server Name Indication) расширение (имя сайта).

Информация: Выполните man s_client, чтобы ознакомиться со всеми доступными опциями.

В качестве примера, воспользуемся openssl, чтобы проверить срок действия SSL сертификата установленного на сайте https://www.shellhacks.com:

$ echo | openssl s_client -servername www.shellhacks.com -connect www.shellhacks.com:443 2>/dev/null | openssl x509 -noout -dates
notBefore=Mar 18 10:55:00 2017 GMT
notAfter=Jun 16 10:55:00 2017 GMT

OpenSSL: Проверка SSL Сертификата — Дополнительная Информация

Помимо срока действия, SSL сертификат содержит много интересной информации.

Каждый SSL сертификат содержит информацию о том, кем он был выдан, кому он выдан, его срок действия, о чем уже говорилось выше, SHA1 отпечаток SSL сертификата и прочее.

Все эти данные могут быть извлечены из SSL сертификата сайта, с помощью программы openssl из командной строки в Linux.

Проверить кто выдал SSL сертификат:

$ echo | openssl s_client -servername shellhacks.com -connect shellhacks.com:443 2>/dev/null | openssl x509 -noout -issuer
issuer= /C=US/O=Let's Encrypt/CN=Let's Encrypt Authority X3

Проверить кому выдан SSL сертификат:

$ echo | openssl s_client -servername shellhacks.com -connect shellhacks.com:443 2>/dev/null | openssl x509 -noout -subject
subject= /CN=www.shellhacks.com

Проверить срок годности SSL сертификата:

$ echo | openssl s_client -servername shellhacks.com -connect shellhacks.com:443 2>/dev/null | openssl x509 -noout -dates
notBefore=Mar 18 10:55:00 2017 GMT
notAfter=Jun 16 10:55:00 2017 GMT

Показать всю перечисленную выше информацию об SSL сертификате одной командой:

$ echo | openssl s_client -servername shellhacks.com -connect shellhacks.com:443 2>/dev/null | openssl x509 -noout -issuer -subject -dates
issuer= /C=US/O=Let's Encrypt/CN=Let's Encrypt Authority X3
subject= /CN=www.shellhacks.com
notBefore=Mar 18 10:55:00 2017 GMT
notAfter=Jun 16 10:55:00 2017 GMT

Дельный Совет: Если у вас где-то локально лежит файл с SLL сертификатом, его также можно декодировать с помощью openssl из командной строки в Linux! Читать далее →

Получить SHA1 отпечаток SSL сертификата:

$ echo | openssl s_client -servername www.shellhacks.com -connect www.shellhacks.com:443 2>/dev/null | openssl x509 -noout -fingerprint
SHA1 Fingerprint=26:F8:D5:E4:3E:7A:7B:7E:72:20:15:77:FE:C7:89:E7:E4:8A:15:CF

Извлечь всю имеющуюся информацию из SSL сертификата (декодировать):

$ echo | openssl s_client -servername www.shellhacks.com -connect www.shellhacks.com:443 2>/dev/null | openssl x509 -noout -text
Certificate:
    Data:
        Version: 3 (0x2)
        Serial Number:
            03:86:f4:63:3d:34:50:a8:47:cc:f7:99:10:1f:79:1c:21:c8
    Signature Algorithm: sha256WithRSAEncryption
[...]

Показать сам SSL сертификат (в закодированном виде):

$ echo | openssl s_client -servername shellhacks.com -connect shellhacks.com:443 2>/dev/null | openssl x509
-----BEGIN CERTIFICATE-----
MIIFGDCCBACgAwIBAgISA4b0Yz00UKhHzPeZEB95HCHIMA0GCSqGSIb3DQEBCwUA
MEoxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MSMwIQYDVQQD
ExpMZXQncyBFbmNyeXB0IEF1dGhvcml0eSBYMzAeFw0xNzAzMTgxMDU1MDBaFw0x
[...]

Обобщающая таблица:

Опция Описание
-text Печатает сертификат в расшифрованном виде.
-noout Запрещает вывод закодированной версии запроса.
-subject Выводит тему сертификата.
-issuer Выводит кем был выдан сертификат.
-dates Печатает сроки действия сертификата.
-fingerprint Печатает SHA1 отпечаток закодированной версии всего сертификата.

Информация: Выполните man x509, чтобы ознакомиться со всеми доступными опциями.

One Reply to “OpenSSL: Проверка SSL Сертификата — Срок Действия”

Добавить комментарий