nginx:ssl_stapling_verify:正確に何が検証されていますか?


11

ssl_stapling_verify指令は正確には何ですか?回答の署名が正しいかどうかを確認しますか?公式のnginxドキュメントはこれを説明するのが非常に曖昧です:

https://nginx.org/en/docs/http/ngx_http_ssl_module.html#ssl_stapling_verify

サーバーによるOCSP応答の検証を有効または無効にします。

検証を機能させるには、サーバー証明書発行者の証明書、ルート証明書、およびすべての中間証明書を、ssl_trusted_certificateディレクティブを使用して信頼できるものとして構成する必要があります。

回答:


4

Nginxのソースコードで見つかりました。ファイルngx_event_openssl_stapling.c#L660

OCSP_basic_verify(basic, chain, store,staple->verify ? OCSP_TRUSTOTHER :OCSP_NOVERIFY
`ssl_stapling_verify`の値がオンの場合、` staple-> verify`がtrueになり、次に関数 `OCSP_basic_verify`が` OCSP_TRUSTOTHER `パラメーターを使用して検証されます。

次に、libarayでOCSP_basic_verify関数を見つけましたopenssl

次に、フラグにOCSP_NOVERIFYが含まれている場合、または署名者証明書が証明書で見つかり、フラグにOCSP_TRUSTOTHERが含まれている場合、関数はすでに成功を返します。

詳細はこちら:https : //meto.cc/article/what-exactly-did-ssl_stapling_verify-verify


1

ウィキペディアによると、「OCSPステープリングは、正式にはTLS証明書ステータスリクエスト拡張と呼ばれ、X.509デジタル証明書の失効ステータスをチェックするためのオンライン証明書ステータスプロトコル(OCSP)の代替アプローチです。証明書のプレゼンターは、CAが署名したタイムスタンプ付きのOCSP応答を最初のTLSハンドシェイクに追加(「ステープル」)することにより、OCSP応答の提供に関連するリソースコストを負担し、クライアントがCAに連絡する必要をなくします

強調が追加されました。

ディレクティブは、OCSPステープリングのこの「代替アプローチ」をオンまたはオフにします。デフォルトでは、OCSPステープリングは有効になっていません。あなたはそれを有効にすることができます

ssl_stapling_verify   on;

6
OCSPステイプルは「ssl_stapling」ディレクティブによって制御され、OCSPステイプル検証とは無関係に有効にできます。検証が無効になっている場合、サーバーは検証を実行せずに、CAから受信したOCSP応答をクライアントに転送するだけです。行われた特定の検証に関して、私は確かにわかりません。間違いなく、応答の署名と、署名に使用された証明書の有効性のチェックが含まれます。
エリアセレダ2017
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.