Комментарии (1)
Ответ сгенерирован нейросетью и может содержать ошибки
Кто выдает SSL сертификат
SSL (Secure Sockets Layer) сертификаты выдаются специальными организациями, называемыми Certificate Authorities (ЦА) или Удостоверяющие центры. Это не одна организация — существует целая экосистема таких центров разных уровней.
Иерархия SSL сертификатов
1. Root Certificate Authority (корневой ЦА)
Это доверенные организации, которые встроены в браузеры и операционные системы. Их сертификаты поставляются с ОС.
Корневые ЦА (встроены в браузер):
- DigiCert
- GlobalSign
- Amazon Root CA
- Let's Encrypt (бесплатный, но доверенный)
- Comodo
- Sectigo
- VeriSign
2. Intermediate Certificate Authority
Получают сертификат от корневого ЦА и выдают сертификаты для конечных пользователей (веб-сайтов).
3. End Entity Certificate
Это сертификат конкретного сайта, например example.com.
Основные поставщики SSL сертификатов
Бесплатные ЦА:
Let's Encrypt — самый популярный бесплатный ЦА
- Выдает 90-дневные сертификаты
- Автоматическое продление через ACME
- Используется на миллионах сайтов
Платные ЦА:
DigiCert — самая дорогая, используется банками Comodo / Sectigo — средняя цена, хорошее качество GoDaddy — низкая цена для небольших сайтов AWS Certificate Manager — бесплатно для AWS ресурсов
Процесс выдачи SSL сертификата
Шаг 1: Генерация ключей
openssl genrsa -out example.com.key 2048
openssl req -new -key example.com.key -out example.com.csr
Шаг 2: Отправка CSR (Certificate Signing Request) в ЦА
Вы отправляете CSR в выбранный ЦА.
Шаг 3: Проверка прав на домен (DV - Domain Validation)
# Метод 1: HTTP Challenge - создать файл на сайте
# /.well-known/acme-challenge/token
# Метод 2: DNS Challenge - добавить TXT запись
# _acme-challenge.example.com TXT verification_token
# Метод 3: Email Verification - подтверждение по почте
# Отправить письмо на admin@example.com
Шаг 4: Подписание и выдача сертификата
ЦА подписывает ваш CSR своим приватным ключом и выдает сертификат.
Шаг 5: Установка на сервер
from fastapi import FastAPI
import uvicorn
app = FastAPI()
if __name__ == "__main__":
uvicorn.run(
app,
host="0.0.0.0",
port=443,
ssl_keyfile="/path/to/example.com.key",
ssl_certfile="/path/to/example.com.crt"
)
Типы SSL сертификатов
Domain Validated (DV)
- Проверяется: владение доменом
- Время: 1-24 часа
- Цена: Бесплатно (Let's Encrypt) или от 20 долларов/год
Organization Validated (OV)
- Проверяется: владение доменом + организация
- Время: 1-3 дня
- Цена: от 100 долларов/год
Extended Validation (EV)
- Проверяется: полная проверка организации
- Время: 3-7 дней
- Цена: от 300 долларов/год
- Признак: зелёная полоса в браузере
Wildcard сертификат
- Покрывает: домен и все поддомены (*.example.com)
- Цена: на 20-50 процентов дороже обычного
Multi-domain сертификат
- Покрывает: несколько разных доменов
- Цена: зависит от количества доменов
Автоматическое продление (Let's Encrypt + Certbot)
sudo apt install certbot python3-certbot-nginx
# Получить сертификат
sudo certbot --nginx -d example.com
# Настроить автоматическое продление
sudo systemctl enable certbot.timer
# Проверить, что всё работает
sudo certbot renew --dry-run
Проверка SSL сертификата
# Просмотреть информацию о сертификате
openssl x509 -in example.com.crt -text -noout
# Проверить дату истечения
openssl x509 -in example.com.crt -noout -dates
# Проверить сертификат на сервере
openssl s_client -connect example.com:443
Цепочка доверия (Certificate Chain)
Все SSL сертификаты образуют цепочку доверия:
Root CA (встроен в браузер)
↓
Intermediate CA
↓
End Entity Certificate (ваш сайт)
Браузер проверяет эту цепочку и убеждается, что каждый сертификат подписан предыдущим. Если цепочка разорвана или сертификат истёк — браузер выведет ошибку.
Использование в Python
import requests
import certifi
# Использовать стандартный набор сертификатов ЦА
response = requests.get(
'https://example.com',
verify=certifi.where() # Проверять SSL
)
# Для самоподписанных сертификатов (только для тестирования!)
response = requests.get(
'https://example.com',
verify=False # Опасно - не использовать в production
)
Вывод
SSL сертификаты выдаются Certificate Authorities, которые образуют иерархию:
- Root ЦА — встроены в браузеры (DigiCert, GlobalSign, Let's Encrypt)
- Intermediate ЦА — получают сертификаты от корневых и выдают пользователям
- End Entity Certificate — выдается конкретному домену
Популярные поставщики:
- Let's Encrypt (бесплатно, автоматизация) — рекомендуется
- DigiCert (дорого, премиум)
- Comodo/Sectigo (средняя цена)
- AWS ACM (бесплатно в AWS)
- Cloudflare (бесплатно для пользователей Cloudflare)
На 2026 год Let's Encrypt стал стандартом де-факто благодаря автоматизации и бесплатности.