我想在将其返回到实际页面之前直接使用 NGINX 验证客户端证书“自定义”字段。
据我了解: http://nginx.org/en/docs/http/ngx_http_ssl_module.html#ssl_verify_client 对于诸如主题 DN、发行者 DN、客户端序列号、结束日期等字段来说,这很容易实现,但是有没有办法验证我的 CA 附加到证书中的自定义字段?
答案1
顺便一提公钥基础设施作品,nginx不验证任何数据。它仅验证证书是否由受信任的 CA 签名(直接或通过中间证书)。验证这些数据是 CA 的工作。通常,会以某种方式验证主题 DN 的最后一部分(CN 或 emailAddress 部分)。
nginx能够从证书中提取一些标准扩展,但如果您想读取非标准扩展,您需要将整个证书添加为标头并将其发送到您的应用程序,如下所示:
proxy_set_header X-Client-Cert $ssl_client_escaped_cert