Ответ
SSL/TLS сертификат (Secure Sockets Layer / Transport Layer Security) — это цифровой документ, который криптографически связывает доменное имя, сервер или хост с идентификационными данными организации. Его основная задача — обеспечить безопасное зашифрованное соединение между клиентом (например, браузером) и сервером по протоколу HTTPS.
Основные функции сертификата:
- Шифрование: Все данные, передаваемые между клиентом и сервером, шифруются. Это защищает конфиденциальную информацию (пароли, данные банковских карт) от перехвата злоумышленниками (атака "Man-in-the-middle").
- Аутентификация: Сертификат подтверждает, что вы подключаетесь именно к тому серверу, которому доверяете, а не к поддельному сайту. Проверку подлинности осуществляет доверенный Центр Сертификации (Certificate Authority, CA).
- Целостность данных: Гарантирует, что данные не были изменены или повреждены во время передачи.
Пример проверки SSL-сертификата в Python:
Библиотека requests
по умолчанию проверяет SSL-сертификат сайта. Если он недействителен, будет вызвано исключение requests.exceptions.SSLError
.
import requests
try:
# Запрос к сайту с валидным сертификатом
response = requests.get('https://google.com')
print(f"Успешно: Статус-код {response.status_code}")
# Запрос к сайту с самоподписанным/невалидным сертификатом вызовет ошибку
# response_invalid = requests.get('https://self-signed.badssl.com/')
except requests.exceptions.SSLError as e:
print(f"Ошибка SSL: {e}")
# ВАЖНО: Отключение проверки (только для тестов, никогда в продакшене!)
import warnings
from urllib3.exceptions import InsecureRequestWarning
warnings.simplefilter('ignore', InsecureRequestWarning)
response = requests.get('https://self-signed.badssl.com/', verify=False)
print(f"Запрос с отключенной проверкой: Статус-код {response.status_code}")
Типы сертификатов по уровню проверки:
- Domain Validation (DV): Подтверждается только владение доменом. Самый быстрый и дешевый тип.
- Organization Validation (OV): Проверяется не только домен, но и сама организация.
- Extended Validation (EV): Наиболее строгая проверка организации. Ранее такие сайты подсвечивались в адресной строке браузера зеленым цветом.