Mercurial > hg > nginx-quic
annotate src/mail/ngx_mail_ssl_module.h @ 5503:d049b0ea00a3
SSL: ssl_session_tickets directive.
This adds support so it's possible to explicitly disable SSL Session
Tickets. In order to have good Forward Secrecy support either the
session ticket key has to be reloaded by using nginx' binary upgrade
process or using an external key file and reloading the configuration.
This directive adds another possibility to have good support by
disabling session tickets altogether.
If session tickets are enabled and the process lives for a long a time,
an attacker can grab the session ticket from the process and use that to
decrypt any traffic that occured during the entire lifetime of the
process.
author | Dirkjan Bussink <d.bussink@gmail.com> |
---|---|
date | Fri, 10 Jan 2014 16:12:40 +0100 |
parents | 1356a3b96924 |
children | 42114bf12da0 |
rev | line source |
---|---|
539 | 1 |
2 /* | |
3 * Copyright (C) Igor Sysoev | |
4412 | 4 * Copyright (C) Nginx, Inc. |
539 | 5 */ |
6 | |
7 | |
1136 | 8 #ifndef _NGX_MAIL_SSL_H_INCLUDED_ |
9 #define _NGX_MAIL_SSL_H_INCLUDED_ | |
539 | 10 |
11 | |
12 #include <ngx_config.h> | |
13 #include <ngx_core.h> | |
1136 | 14 #include <ngx_mail.h> |
539 | 15 |
16 | |
1136 | 17 #define NGX_MAIL_STARTTLS_OFF 0 |
18 #define NGX_MAIL_STARTTLS_ON 1 | |
19 #define NGX_MAIL_STARTTLS_ONLY 2 | |
583 | 20 |
21 | |
539 | 22 typedef struct { |
976 | 23 ngx_flag_t enable; |
2224 | 24 ngx_flag_t prefer_server_ciphers; |
976 | 25 |
26 ngx_ssl_t ssl; | |
547 | 27 |
2224 | 28 ngx_uint_t starttls; |
976 | 29 ngx_uint_t protocols; |
547 | 30 |
976 | 31 ssize_t builtin_session_cache; |
547 | 32 |
976 | 33 time_t session_timeout; |
573 | 34 |
976 | 35 ngx_str_t certificate; |
36 ngx_str_t certificate_key; | |
2044 | 37 ngx_str_t dhparam; |
3960 | 38 ngx_str_t ecdh_curve; |
539 | 39 |
976 | 40 ngx_str_t ciphers; |
539 | 41 |
976 | 42 ngx_shm_zone_t *shm_zone; |
2224 | 43 |
5503
d049b0ea00a3
SSL: ssl_session_tickets directive.
Dirkjan Bussink <d.bussink@gmail.com>
parents:
5425
diff
changeset
|
44 ngx_flag_t session_tickets; |
5425
1356a3b96924
SSL: added ability to set keys used for Session Tickets (RFC5077).
Piotr Sikora <piotr@cloudflare.com>
parents:
4412
diff
changeset
|
45 ngx_array_t *session_ticket_keys; |
1356a3b96924
SSL: added ability to set keys used for Session Tickets (RFC5077).
Piotr Sikora <piotr@cloudflare.com>
parents:
4412
diff
changeset
|
46 |
2224 | 47 u_char *file; |
48 ngx_uint_t line; | |
1136 | 49 } ngx_mail_ssl_conf_t; |
539 | 50 |
51 | |
1136 | 52 extern ngx_module_t ngx_mail_ssl_module; |
539 | 53 |
54 | |
1136 | 55 #endif /* _NGX_MAIL_SSL_H_INCLUDED_ */ |