Nginx的; 如何使用OCSP验证SSL客户端证书

Van*_*ERO 6 ssl ocsp nginx

我正在使用Nginx创建一个安全的连接; 当我撤销客户端证书时,我也可以通过https连接到Nginx,我知道我应该配置ssl_crl指令,但我想使用OCSP来验证客户端证书,我该怎么办?我发现Nginx使用OpenSSL库来建立ssl连接,我应该用openssl.cnf文件做些什么?

小智 6

具有 OCSP 功能的客户端证书验证已添加到 nginx 1.19.0+。例如:

ssl_verify_client on;
ssl_ocsp on;
resolver 192.0.2.1;
Run Code Online (Sandbox Code Playgroud)

ssl_ocsp启用客户端证书链的 OCSP 验证。
ssl_ocsp 叶;仅启用客户端证书验证。默认情况下ssl_ocsp设置为offssl_verify_client 指令应设置为on可选,以便 OCSP 验证工作 解析器应指定为解析 OCSP 响应器主机名。


Dig*_*ite -5

这只是代码在服务器块中的示例:

 server {

   # Listen on port 443
   listen   443 default_server;
   server_name example.com;

   root /path/to/site-content/;
   index index.html index.htm;

   # Turn on SSL; Specify certificate & keys
   ssl on;
   ssl_certificate /etc/nginx/ssl/example.com/my_certificate.crt;
   ssl_certificate_key /etc/nginx/ssl/example.com/example.key;

   # Enable OCSP Stapling, point to certificate chain
   ssl_stapling on;
   ssl_stapling_verify on;
   ssl_trusted_certificate /etc/nginx/ssl/full_chain.pem;

  }
Run Code Online (Sandbox Code Playgroud)

确保证书与您的路径匹配,然后保存您的工作。

重新加载之前测试您的配置...

最后,通过以下任一命令重新启动或重新加载 Nginx:

sudo service nginx reload
Run Code Online (Sandbox Code Playgroud)

或者

sudo service nginx restart
Run Code Online (Sandbox Code Playgroud)

最后一步,通过此链接测试您的 OCSP 装订,以确保您的 SSL 是否正常工作:

OCSP 装订 SSL 检查器

  • OP 说关于通过 OCSP 验证**客户端证书**。OCSP Stapling 与此完全无关。OCSP Stapling 是为了在客户端保存 OCSP 验证请求。 (6认同)