OCSP

OCSP (Online Certificate Status Protocol, RFC 6960) — способ проверить не отозван ли сертификат через HTTP-запрос к серверу CA. Замена медленному CRL.

Как работает базовый OCSP

  1. Браузер подключается к сайту, получает TLS-сертификат.
  2. В серте указан URL OCSP-responder-а CA (в extension Authority Information Access).
  3. Браузер шлёт HTTP-запрос: GET /ocsp/... HTTP/1.1 с serial number серта.
  4. Responder отвечает: good · revoked · unknown. Ответ подписан CA.
  5. Если revoked — браузер отказывает.

Проблемы базового OCSP

OCSP Stapling

Решение проблем: сервер сам периодически запрашивает OCSP-ответ у CA и «прикрепляет» его к TLS-handshake (Certificate Status extension).

  1. Каждые несколько часов веб-сервер: curl ocsp.ca.com, кэширует ответ.
  2. Клиент подключается — сервер возвращает cert + свежий OCSP-ответ вместе.
  3. Клиент не ходит в CA, приватность сохранена, лаг ноль.
# nginx
ssl_stapling on;
ssl_stapling_verify on;
resolver 1.1.1.1 8.8.8.8;

OCSP Must-Staple

Extension в серте id-pe-tlsfeature: «этот серт валиден только если stapling есть». Если сервер не прислал OCSP — браузер отклоняет. Убирает soft-fail-проблему полностью.

На практике почти не используется — сложно эксплуатировать, риск ложного отказа.

Смерть OCSP

В 2024 CA/Browser Forum сделал OCSP опциональным для всех CA. С 2025 Let's Encrypt объявила о постепенном отключении OCSP-responder. Возвращается CRL (через централизованные списки-агрегаторы вроде CRLite и Chrome CRLSet).

Причины смерти OCSP:

См. также