mirror of
https://github.com/nginx/nginx.git
synced 2025-06-12 13:42:55 +08:00
SSL: fixed unexpected certificate requests (ticket #2008).
Using SSL_CTX_set_verify(SSL_VERIFY_PEER) implies that OpenSSL will send a certificate request during an SSL handshake, leading to unexpected certificate requests from browsers as long as there are any client certificates installed. Given that ngx_ssl_trusted_certificate() is called unconditionally by the ngx_http_ssl_module, this affected all HTTPS servers. Broken by 699f6e55bbb4 (not released yet). Fix is to set verify callback in the ngx_ssl_trusted_certificate() function without changing the verify mode.
This commit is contained in:
parent
1bbc37d35c
commit
fa2f2e3508
@ -920,7 +920,8 @@ ngx_int_t
|
|||||||
ngx_ssl_trusted_certificate(ngx_conf_t *cf, ngx_ssl_t *ssl, ngx_str_t *cert,
|
ngx_ssl_trusted_certificate(ngx_conf_t *cf, ngx_ssl_t *ssl, ngx_str_t *cert,
|
||||||
ngx_int_t depth)
|
ngx_int_t depth)
|
||||||
{
|
{
|
||||||
SSL_CTX_set_verify(ssl->ctx, SSL_VERIFY_PEER, ngx_ssl_verify_callback);
|
SSL_CTX_set_verify(ssl->ctx, SSL_CTX_get_verify_mode(ssl->ctx),
|
||||||
|
ngx_ssl_verify_callback);
|
||||||
|
|
||||||
SSL_CTX_set_verify_depth(ssl->ctx, depth);
|
SSL_CTX_set_verify_depth(ssl->ctx, depth);
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user