正確に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#L66 :
OCSP_basic_verify(basic, chain, store,staple->verify ? OCSP_TRUSTOTHER :OCSP_NOVERIFY
それから、私は OCSP_basic_verify 関数をopenssl
libarayで見つけました、それは言った:
次に、フラグにOCSP_NOVERIFYが含まれている場合、または署名者証明書が証明書で見つかり、フラグにOCSP_TRUSTOTHERが含まれている場合、関数はすでに成功を返します。
詳細はこちら: https://meto.cc/article/what-exactly-did-ssl_stapling_verify-verify
ウィキペディアは 、「正式にはTLS証明書ステータス要求拡張として知られているOCSPステープリングは、X.509デジタル証明書の失効ステータスをチェックするためのオンライン証明書ステータスプロトコル(OCSP)の代替アプローチです。 CAによって署名されたタイムスタンプ付きOCSP応答を初期TLSハンドシェイクに付加(「ステープル」)することにより、OCSP応答の提供に伴うリソースコストを証明書のプレゼンターが負担できるようにし、クライアントがCAに連絡する必要がある ".
強調が追加されました。
ディレクティブは、OCSPステープリングのこの「代替アプローチ」をオンまたはオフにします。デフォルトでは、OCSPステープリングは有効になっていません。あなたはそれを有効にすることができます
ssl_stapling_verify on;