nginx:ssl_stapling_verify:究竟在验证什么?


11

ssl_stapling_verify指令到底是什么?是否检查答案的签名是否正确?Nginx官方文档在解释这一点时含糊不清:

https://nginx.org/zh-CN/docs/http/ngx_http_ssl_module.html#ssl_stapling_verify

启用或禁用服务器对OCSP响应的验证。

为使验证生效,应使用ssl_trusted_certificate指令将服务器证书颁发者的证书,根证书和所有中间证书配置为受信任的。

Answers:


4

我在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


1

维基百科说:“ OCSP装订,正式称为TLS证书状态请求扩展名,是一种在线证书状态协议(OCSP)的替代方法,用于检查X.509数字证书的吊销状态。它允许证书的演示者执行以下操作:通过将由CA签名的带时间戳的OCSP响应附加(“装订”)到初始TLS握手中来承担提供OCSP响应所涉及的资源成本,从而消除了客户端与CA的联系

重点已添加。

该指令打开或关闭OCSP装订的这种“替代方法”。默认情况下,不启用OCSP装订。您可以使用启用它

ssl_stapling_verify   on;

6
OCSP装订由“ ssl_stapling”指令控制,可以独立于OCSP装订验证启用。如果禁用了验证,则服务器仅将其从CA收到的OCSP响应转发给客户端,而无需执行任何验证。关于执行的特定验证,我不确定。它绝对包括检查响应的签名和用于签名的证书的有效性。
伊利亚塞雷达(EliaCereda)'17
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.