Ответ
SSL/TLS-сертификат (где TLS — современный преемник SSL) — это цифровой сертификат, который обеспечивает три ключевых аспекта безопасного соединения по протоколу HTTPS.
-
Шифрование (Encryption): Все данные, передаваемые между браузером пользователя и сервером, шифруются. Это защищает конфиденциальную информацию (пароли, данные банковских карт) от перехвата злоумышленниками (атаки типа "Man-in-the-Middle").
-
Аутентификация (Authentication): Сертификат подтверждает, что сервер, к которому вы подключаетесь, действительно является тем, за кого себя выдает (например, что
google.com
— это действительно сервер Google). Это предотвращает атаки с подменой сайта (фишинг). -
Целостность данных (Integrity): Гарантирует, что данные не были изменены или повреждены во время передачи. Любое изменение будет обнаружено, и соединение будет прервано.
Пример проверки сертификата в Python с requests
:
По умолчанию библиотека requests
проверяет SSL-сертификат сайта. Если он невалиден (например, просрочен), будет вызвано исключение.
import requests
try:
# Запрос к сайту с валидным сертификатом
response_ok = requests.get('https://www.google.com')
print(f"Соединение с google.com успешно (Статус: {response_ok.status_code})")
# Запрос к сайту с просроченным сертификатом вызовет ошибку
# verify=True используется по умолчанию
print("nПопытка соединения с сайтом с невалидным сертификатом...")
response_invalid = requests.get('https://expired.badssl.com/')
except requests.exceptions.SSLError as e:
print(f"nПроизошла ошибка SSL: Сертификат невалиден!n{e}")
Наличие валидного сертификата является стандартом для всех современных сайтов и критически важно для доверия пользователей и безопасности данных.