Короткий ответ
TLS обеспечивает шифрование трафика между клиентом и сервером (конфиденциальность), проверку целостности данных и аутентификацию сервера (а опционально и клиента); сертификат — это электронный документ, подписанный доверенным центром сертификации (CA), который удостоверяет, что открытый ключ действительно принадлежит заявленному домену.
Как это работает подробнее
При установке соединения сервер предъявляет клиенту сертификат с открытым ключом; клиент проверяет цепочку доверия до известного корневого CA и, если она валидна, использует открытый ключ сервера, чтобы согласовать общий сеансовый ключ для последующего симметричного шифрования трафика.
Пример кода
commands.sh
echo | openssl s_client -connect example.com:443 2>/dev/null | openssl x509 -noout -dates -subjectЧто использовать на практике
- Практика. наличие валидного, не просроченного сертификата с корректным именем (CN/SAN, совпадающим с запрашиваемым доменом) — необходимое условие работы HTTPS; браузер или клиентская библиотека покажет предупреждение или ошибку, если сертификат просрочен, выпущен для другого домена или подписан неизвестным CA.
Подводные камни
- Риск. Частая ошибка — считать, что HTTPS сам по себе гарантирует «безопасность сайта» в целом: TLS защищает именно канал передачи данных, но не защищает от уязвимостей в самом приложении, слабых паролей или неправильной авторизации.