comparison src/mail/ngx_mail_ssl_module.h @ 5989:ec01b1d1fff1

Mail: client SSL certificates support. The "ssl_verify_client", "ssl_verify_depth", "ssl_client_certificate", "ssl_trusted_certificate", and "ssl_crl" directives introduced to control SSL client certificate verification in mail proxy module. If there is a certificate, detail of the certificate are passed to the auth_http script configured via Auth-SSL-Verify, Auth-SSL-Subject, Auth-SSL-Issuer, Auth-SSL-Serial, Auth-SSL-Fingerprint headers. If the auth_http_pass_client_cert directive is set, client certificate in PEM format will be passed in the Auth-SSL-Cert header (urlencoded). If there is no required certificate provided during an SSL handshake or certificate verification fails then a protocol-specific error is returned after the SSL handshake and the connection is closed. Based on previous work by Sven Peter, Franck Levionnois and Filipe Da Silva.
author Maxim Dounin <mdounin@mdounin.ru>
date Wed, 25 Feb 2015 17:48:05 +0300
parents 42114bf12da0
children 51e1f047d15d
comparison
equal deleted inserted replaced
5988:3b3f789655dc 5989:ec01b1d1fff1
26 ngx_ssl_t ssl; 26 ngx_ssl_t ssl;
27 27
28 ngx_uint_t starttls; 28 ngx_uint_t starttls;
29 ngx_uint_t protocols; 29 ngx_uint_t protocols;
30 30
31 ngx_uint_t verify;
32 ngx_uint_t verify_depth;
33
31 ssize_t builtin_session_cache; 34 ssize_t builtin_session_cache;
32 35
33 time_t session_timeout; 36 time_t session_timeout;
34 37
35 ngx_str_t certificate; 38 ngx_str_t certificate;
36 ngx_str_t certificate_key; 39 ngx_str_t certificate_key;
37 ngx_str_t dhparam; 40 ngx_str_t dhparam;
38 ngx_str_t ecdh_curve; 41 ngx_str_t ecdh_curve;
42 ngx_str_t client_certificate;
43 ngx_str_t trusted_certificate;
44 ngx_str_t crl;
39 45
40 ngx_str_t ciphers; 46 ngx_str_t ciphers;
41 47
42 ngx_array_t *passwords; 48 ngx_array_t *passwords;
43 49