我們有一個利用 NGINX 的 K8S 服務,并且在某些流程中希望接受客戶端證書身份驗證。
服務具有公共可信客戶端證書(PEM 格式)的動態串列,并且根 CA 是未知的。
在 NGINX 中,似乎最好的設定是:
nginx.ingress.kubernetes.io/auth-tls-verify-client: optional_no_ca
同時將完整證書 ($ssl_client_escaped_cert) 發送到上游服務以比較整個公共證書。
問題是 NGINX 是否仍會在 SSL 握手期間執行客戶端證書驗證(并且僅跳過 CA 檢查),以驗證請求確實是由證書及其私鑰的唯一所有者發送的。
uj5u.com熱心網友回復:
它仍然會在 TLS 握手中檢查證書中的公鑰可用于驗證 CertificateVerify 中的簽名,即客戶端實際上擁有發送證書的私鑰。
它不會檢查證書本身是否由受信任的 CA 等頒發 - 預計此類驗證將在其他地方進行。
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/422122.html
標籤:
