Linux Labs

Веб-стек / Ступень 4 из 9

Доверие, имя и срок сертификата

Не запущена Запускается обычно ~20 с
Выйти из урока

Шаг 2 из 8 · на машине · 6 мин

Что прислал сервер

Сертификат можно прочитать: openssl покажет, кому он выдан, кем и на какой срок.

HTTPS — это HTTP внутри защищённого соединения TLS. В начале соединения сервер отправляет клиенту сертификат, и только если сертификат прошёл проверку, клиент шлёт HTTP-запрос.

openssl s_client подключается к серверу как клиент и печатает, что получил. </dev/null сразу закрывает соединение, 2>/dev/null убирает служебные строки, а openssl x509 после | читает из вывода сертификат и печатает нужные поля.

Упражнение · посмотреть

Прочитай сертификат сервера

Посмотри поля сертификата, который отдаёт secure.lab.test, и сравни его срок с текущей датой.

Войти и начать Машина доступна после входа
Поле Что в нём
subject кому выдан сертификат: CN — имя сайта
issuer кто выдал и подписал
notBefore с какого момента сертификат действует, время по Гринвичу
notAfter до какого момента он действует

Клиент сверяет срок со своими часами. Момент notAfter позади — сертификат истёк, и curl закрывает соединение с ошибкой certificate has expired. Если часы машины сбиты, «истёк» бывает и у свежего сертификата, поэтому срок сверяют с выводом date.

Срок сертификату ставят заранее: внутренние CA выдают на год и меньше, публичный Let's Encrypt — на 90 дней. Поэтому замена сертификатов — плановая работа администратора.

Ubuntu 24.04
Загрузка…