SSL/TLS-сертификат — это цифровой документ, который подтверждает подлинность сайта и позволяет браузеру установить с ним зашифрованное соединение HTTPS. Он связывает доменное имя с открытым ключом и подписан удостоверяющим центром (УЦ), которому браузеры уже доверяют.
Когда в адресной строке вы видите https:// и замок или похожий значок, за долю секунды до этого сертификат был проверен. Сертификат решает сразу две задачи: он аутентифицирует сервер, чтобы вы знали, что общаетесь с настоящим example.com, а не с самозванцем, и обеспечивает шифрование, чтобы никто на пути в сети не мог прочитать или изменить то, что вы отправляете.
SSL и TLS: в чём разница?
SSL (Secure Sockets Layer) — исходный протокол, разработанный компанией Netscape в 1990-х. Его сменил TLS (Transport Layer Security), а все версии SSL теперь считаются небезопасными и официально признаны устаревшими. TLS 1.0 и 1.1 тоже объявлены устаревшими — в RFC 8996 (2021), поэтому современные соединения используют TLS 1.2 или TLS 1.3.
Название «SSL-сертификат», однако, закрепилось. Сам сертификат не привязан к версии протокола: один и тот же сертификат работает с любой версией TLS. «SSL-сертификат», «TLS-сертификат» и «HTTPS-сертификат» означают одно и то же.
Как работает рукопожатие TLS
Прежде чем обменяться данными веб-страницы, браузер и сервер выполняют рукопожатие (handshake). В упрощённом виде рукопожатие TLS 1.3 выглядит так:
- Client hello. Браузер подключается, обычно через порт 443, и сообщает, какие версии TLS и наборы шифров он поддерживает. Он указывает нужное имя хоста (через расширение Server Name Indication, чтобы на одном IP-адресе могло размещаться много сайтов) и свою часть обмена ключами.
- Server hello. Сервер выбирает параметры, отправляет свою часть обмена ключами и предъявляет сертификат вместе с подписью, доказывающей, что у него есть соответствующий закрытый ключ.
- Проверка. Браузер проверяет, что сертификат относится к этому имени хоста, действует в указанные даты и выстраивается в цепочку до доверенного корневого УЦ.
- Сеансовые ключи. Обе стороны получают из обмена ключами одинаковые симметричные сеансовые ключи. Весь дальнейший трафик шифруется ими.
Закрытый ключ никогда не покидает сервер. Криптография с открытым ключом нужна только для аутентификации и согласования ключей; основной объём данных шифруется быстрыми симметричными шифрами, такими как AES-GCM или ChaCha20-Poly1305. TLS 1.3 завершает рукопожатие за один цикл обмена сообщениями (round trip), тогда как TLS 1.2 — за два.
Что внутри сертификата
Сертификат соответствует стандарту X.509 и содержит, среди прочего, такие поля:
- Subject Alternative Names (SAN) — имена хостов, для которых сертификат действителен. Браузеры проверяют этот список, а не устаревшее поле Common Name.
- Открытый ключ — открытый ключ сервера RSA или ECDSA.
- Издатель — УЦ, подписавший сертификат.
- Срок действия — даты «Not Before» и «Not After».
- Серийный номер и подпись — уникальный идентификатор и подпись издателя под всем перечисленным.
SAN и wildcard-сертификаты
Один сертификат может охватывать много имён, если перечислить их как SAN, например example.com, www.example.com и shop.example.com. Wildcard вида *.example.com покрывает любую одну метку на этом уровне: он подходит для www.example.com и api.example.com, но не для самого example.com и не для более глубоких имён вроде a.b.example.com. Поэтому в wildcard-сертификатах основной домен без поддомена обычно указывают отдельным SAN.
Сертификаты DV, OV и EV
Сертификаты различаются тем, насколько тщательно УЦ проверил заявителя перед выдачей:
| Тип | Что проверяется | Типичное применение |
|---|---|---|
| Domain Validated (DV) | Только то, что заявитель управляет доменом: через DNS-запись, файл на сайте или письмо | Большинство сайтов; выдаётся автоматически за секунды |
| Organization Validated (OV) | Управление доменом плюс юридическое существование организации | Компании, которые хотят видеть своё название в данных сертификата |
| Extended Validation (EV) | Более строгая стандартизированная проверка юридического лица | Некоторые банки и крупные компании |
Все три типа обеспечивают абсолютно одинаковую стойкость шифрования. Разница только в сведениях о владельце. Около 2019 года крупные браузеры перестали особо выделять сертификаты EV, показывая название компании зелёным цветом, поэтому для большинства сайтов практичный выбор — DV.
Цепочка доверия
Операционная система и браузер поставляются с хранилищем корневых сертификатов: списком корневых сертификатов УЦ, которым они доверяют. Корневые УЦ редко подписывают сертификаты сайтов напрямую. Вместо этого они подписывают промежуточные сертификаты, а те — конечный (серверный) сертификат:
Root CA (in the browser's trust store)
└── Intermediate CA (sent by the server)
└── www.example.com (leaf certificate, sent by the server)
Сервер должен отправлять свой конечный сертификат и промежуточные. Затем браузер проверяет каждую подпись вплоть до корневого сертификата, которому уже доверяет. Такая схема позволяет держать корневые ключи офлайн и надёжно защищёнными. Чтобы защититься от ошибочной выдачи, общедоверенные сертификаты вдобавок записываются в публичные журналы Certificate Transparency, а владельцы доменов могут ограничить список УЦ, которым разрешено выдавать сертификаты для их доменов, с помощью DNS-записи CAA, о чём рассказано в нашем руководстве по типам DNS-записей.
Let's Encrypt и сроки действия сертификатов
Let's Encrypt, некоммерческий УЦ, сделал бесплатные сертификаты DV массовыми. Его сертификаты действуют 90 дней и рассчитаны на автоматическое продление по протоколу ACME с помощью клиентов вроде Certbot или функций, встроенных во многие веб-серверы и панели хостинга. Большинство хостинг-провайдеров и CDN теперь выпускают и продлевают сертификаты без каких-либо ручных действий.
Сроки действия по всей отрасли сокращаются. Согласно ballot SC-081 форума CA/Browser, максимальный срок действия общедоверенных сертификатов TLS уменьшается поэтапно: с марта 2026 года он составляет 200 дней, а в последующие годы снизится ещё. Точный график может меняться, но направление понятно: автоматизируйте продление, потому что продлевать сертификаты вручную будет всё менее реально.
Типичные ошибки сертификатов и как их исправить
Истёкший сертификат
Браузеры показывают ошибки вроде NET::ERR_CERT_DATE_INVALID. Продлите сертификат и перезагрузите веб-сервер. Затем выясните, почему не сработало автоматическое продление: часто виноваты брандмауэр, блокирующий проверку, смена DNS или сломанное задание cron. Неверные часы на устройстве посетителя могут вызвать ту же ошибку, поэтому, если жалуется только одно устройство, проверьте дату.
Несовпадение имени
Ошибки вроде ERR_CERT_COMMON_NAME_INVALID означают, что имени хоста из адресной строки нет в списке SAN сертификата, например сертификат для www.example.com используется для example.com. Выпустите сертификат заново, включив в него все имена хостов, которые вы обслуживаете, или перенаправляйте посетителей на покрытое имя.
Неполная цепочка
Если сервер отправляет только конечный сертификат без промежуточных, одни браузеры справляются, загружая или кэшируя недостающее звено, а другие, как и многие утилиты командной строки и приложения, выдают ошибку. Укажите в настройках сервера файл с полной цепочкой (его часто называют fullchain.pem).
Самоподписанный сертификат или недоверенный издатель
NET::ERR_CERT_AUTHORITY_INVALID означает, что цепочка не ведёт к доверенному корневому сертификату, обычно потому, что сертификат самоподписанный или выпущен частным УЦ. Для внутреннего тестирования это нормально, а для публичного сайта — нет: замените его сертификатом от публичного УЦ. Та же ошибка может появиться, если антивирус или корпоративный прокси перехватывает HTTPS.
Смешанное содержимое
Сертификат действителен, но страница загружает скрипты или изображения по обычному http://. Замените такие URL на HTTPS и подумайте о заголовке HSTS, чтобы браузеры всегда использовали HTTPS.
openssl s_client -connect example.com:443 -servername example.com выводит полную цепочку, которую отправляет сервер.Частые вопросы
Значит ли HTTPS, что сайт безопасен?
Нет. HTTPS означает, что ваше соединение с сайтом зашифровано, а сайт действительно контролирует показанный домен. У фишинговых сайтов вполне могут быть действующие сертификаты DV, и так часто бывает. Всегда проверяйте само доменное имя.
Уступают ли бесплатные сертификаты платным по безопасности?
Нет. Бесплатный сертификат DV от Let's Encrypt обеспечивает такое же шифрование, как и платный. Платные сертификаты могут добавлять проверку личности (OV/EV), гарантии или поддержку, но не более стойкое шифрование.
Сколько действует SSL-сертификат?
Сертификаты Let's Encrypt действуют 90 дней. Остальные публичные УЦ ограничены максимумом форума CA/Browser, который поэтапно сокращается начиная с 200 дней в 2026 году. Безопаснее всего автоматическое продление.
Какой порт использует HTTPS?
HTTPS по умолчанию использует TCP-порт 443, а обычный HTTP — порт 80. Подробнее читайте в нашем руководстве по распространённым сетевым портам.