该ssl_stapling_verify
指令到底是什么?是否检查答案的签名是否正确?Nginx官方文档在解释这一点时含糊不清:
https://nginx.org/zh-CN/docs/http/ngx_http_ssl_module.html#ssl_stapling_verify
启用或禁用服务器对OCSP响应的验证。
为使验证生效,应使用ssl_trusted_certificate指令将服务器证书颁发者的证书,根证书和所有中间证书配置为受信任的。
该ssl_stapling_verify
指令到底是什么?是否检查答案的签名是否正确?Nginx官方文档在解释这一点时含糊不清:
https://nginx.org/zh-CN/docs/http/ngx_http_ssl_module.html#ssl_stapling_verify
启用或禁用服务器对OCSP响应的验证。
为使验证生效,应使用ssl_trusted_certificate指令将服务器证书颁发者的证书,根证书和所有中间证书配置为受信任的。
Answers:
我在Nginx源代码中找到了。文件ngx_event_openssl_stapling.c#L660:
OCSP_basic_verify(basic, chain, store,staple->verify ? OCSP_TRUSTOTHER :OCSP_NOVERIFY
如果您配置ssl_stapling_verify值为on,则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
维基百科说:“ OCSP装订,正式称为TLS证书状态请求扩展名,是一种在线证书状态协议(OCSP)的替代方法,用于检查X.509数字证书的吊销状态。它允许证书的演示者执行以下操作:通过将由CA签名的带时间戳的OCSP响应附加(“装订”)到初始TLS握手中来承担提供OCSP响应所涉及的资源成本,从而消除了客户端与CA的联系。
重点已添加。
该指令打开或关闭OCSP装订的这种“替代方法”。默认情况下,不启用OCSP装订。您可以使用启用它
ssl_stapling_verify on;