Что именно делает директива ssl_stapling_verify
? Проверяет ли он правильность подписи ответа? Официальная документация nginx очень расплывчато объясняет это:
https://nginx.org/en/docs/http/ngx_http_ssl_module. html # ssl_stapling_verify
Включает или отключает проверку ответов OCSP сервером.
Чтобы проверка работала, сертификат поставщика сертификата сервера, корневой сертификат и все промежуточные сертификаты должны быть настроены как доверенные с помощью директивы ssl_trusted_certificate .
Я нашел в исходном коде 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 `param проверено.
затем я обнаружил функцию 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;