nginx: ssl_stapling_verify: Что именно проверяется?
Что именно делает ssl_stapling_verify
Директива? Проверяет ли правильность подписи ответа? Официальная документация nginx объясняет это очень расплывчато:
https://nginx.org/en/docs/http/ngx_http_ssl_module.html
Включает или отключает проверку ответов OCSP сервером.
Чтобы проверка работала, сертификат поставщика сертификата сервера, корневой сертификат и все промежуточные сертификаты должны быть настроены как доверенные с помощью директивы ssl_trusted_certificate.
2 ответа
Я нашел в Nginx исходный код. файл ngx_event_openssl_stapling.C# L660:
OCSP_basic_verify(basic, chain, store,staple->verify ? OCSP_TRUSTOTHER :OCSP_NOVERIFY
если вы сконфигурируете значение `ssl_stapling_verify`, то`staple->verify` будет истинным, затем функция `OCSP_basic_verify` будет использовать параметр`OCSP_TRUSTOTHER ` для проверки.Затем я нашел функцию OCSP_basic_verify в openssl
Libaray, он сказал:
Тогда функция уже возвращает успех, если флаги содержат OCSP_NOVERIFY или если сертификат был найден в сертификатах, а флаги содержат OCSP_TRUSTOTHER.
больше о здесь: https://meto.cc/article/what-exactly-did-ssl_stapling_verify-verify
Википедия говорит: "Сшивание OCSP, формально известное как расширение запроса статуса сертификата TLS, является альтернативным подходом к онлайн-протоколу статуса сертификата (OCSP) для проверки статуса отзыва цифровых сертификатов X.509. Он позволяет предъявителю сертификата нести стоимость ресурсов, связанных с предоставлением ответов OCSP, добавляя ("сшивая") ответ OCSP с меткой времени, подписанный СА, к первоначальному рукопожатию TLS, устраняя необходимость для клиентов связываться с СА ".
Акцент добавлен.
Директива включает или выключает этот "альтернативный подход" сшивания OCSP. По умолчанию сшивание OCSP не включено. Вы можете включить его, используя
ssl_stapling_verify on;