CRL
CRL (Certificate Revocation List, RFC 5280) — большой файл со всеми отозванными сертами, подписанный CA. Классика с 90-х. Долгое время был вытеснен OCSP, теперь возвращается в модифицированном виде.
Как работает
- CA публикует CRL-файл на URL (указан в серте, extension
CRL Distribution Points). - Клиент скачивает CRL, ищет там serial number текущего серта.
- Есть в списке → отозван → отказываем.
Проблемы классического CRL
- Размер. У большого CA (Let's Encrypt) CRL был бы гигабайты. Не скачаешь при каждом визите на HTTPS.
- Актуальность. Обновление раз в 7-24 часа. Отозванный час назад серт всё ещё «валиден».
- Soft-fail. То же самое что и с OCSP: если CRL недоступен — сойдёт.
Почему CRL вернулся
После смерти OCSP в 2024-2025 индустрия ищет замену. Идея: браузер сам агрегирует все CRL и раздаёт как встроенный список.
Chrome CRLSet
Google собирает CRL всех крупных CA, фильтрует, ужимает до пары мегабайт, раздаёт всем Chrome через background-update. Клиенты сверяются с локальной копией — никаких сетевых запросов.
Минус: не все отзывы попадают (Google выбирает «критичные»).
Mozilla CRLite
Более элегантная схема:
- Собирает CRL от всех CA + список всех выпущенных сертов из CT-логов.
- Строит Bloom-фильтр отозванных.
- Bloom-фильтр может «false positive» на невыпущенный серт, но для реальных выпущенных сертов результат точный.
- Ужимается до ~1 МБ на все интернет-серты.
- Обновляется несколько раз в день.
Работает в Firefox с 2020. Летом 2025 объявлено включение по умолчанию.
Что где
| Метод | Плюсы | Минусы |
|---|---|---|
| Классический CRL | Простой, offline | Огромный, устаревший |
| OCSP | Актуальный | Приватность, тормоза, soft-fail |
| OCSP Stapling | Приватность OK | Требует поддержки сервера |
| Chrome CRLSet | Быстрый, offline | Не полный |
| Mozilla CRLite | Полный, компактный | Bloom-фильтр (technical debt) |