【问题标题】:Which client certificate auth validations are done by NGINX for auth-tls-verify-client = optional_no_caNGINX 为 auth-tls-verify-client = optional_no_ca 完成了哪些客户端证书身份验证验证
【发布时间】:2022-01-26 08:12:36
【问题描述】:

我们有一个利用 NGINX 的 K8S 服务,并且在某些流程中希望接受客户端证书身份验证。
服务具有公共可信客户端证书(PEM 格式)的动态列表,并且根 CA 是未知的。
在 NGINX 中,使用的最佳设置似乎是:

nginx.ingress.kubernetes.io/auth-tls-verify-client: optional_no_ca

同时将完整证书 ($ssl_client_escaped_cert) 发送到上游服务以比较整个公共证书。

问题是 NGINX 是否仍会在 SSL 握手期间执行客户端证书验证(并且仅跳过 CA 检查),以验证请求确实是由证书及其私钥的唯一所有者发送的。

【问题讨论】:

    标签: authentication nginx ssl nginx-ingress


    【解决方案1】:

    它仍然会在 TLS 握手中检查证书中的公钥可用于验证 CertificateVerify 中的签名,即客户端实际上拥有发送证书的私钥。

    它不会检查证书本身是否由受信任的 CA 等颁发 - 此类验证预计将在其他地方进行。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-07-09
      • 2018-02-12
      • 2022-06-23
      • 2021-08-21
      • 2011-04-09
      • 2013-10-07
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多