summaryrefslogtreecommitdiffhomepage
path: root/src/event/ngx_event_openssl.h
diff options
context:
space:
mode:
authorMaxim Dounin <mdounin@mdounin.ru>2016-12-23 17:28:20 +0300
committerMaxim Dounin <mdounin@mdounin.ru>2016-12-23 17:28:20 +0300
commitc2d3d82ccbea18f0504fbaceeee6efb62da8d1d8 (patch)
treefe6b284e2cbd1532bb6862602bdbf5dfe9112974 /src/event/ngx_event_openssl.h
parentf02170672926e6afe273340fefb44bd1cc1d6ed4 (diff)
downloadnginx-c2d3d82ccbea18f0504fbaceeee6efb62da8d1d8.tar.gz
nginx-c2d3d82ccbea18f0504fbaceeee6efb62da8d1d8.tar.bz2
SSL: support AES256 encryption of tickets.
This implies ticket key size of 80 bytes instead of previously used 48, as both HMAC and AES keys are 32 bytes now. When an old 48-byte ticket key is provided, we fall back to using backward-compatible AES128 encryption. OpenSSL switched to using AES256 in 1.1.0, and we are providing equivalent security. While here, order of HMAC and AES keys was reverted to make the implementation compatible with keys used by OpenSSL with SSL_CTX_set_tlsext_ticket_keys(). Prodded by Christian Klinger.
Diffstat (limited to '')
-rw-r--r--src/event/ngx_event_openssl.h5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/event/ngx_event_openssl.h b/src/event/ngx_event_openssl.h
index c0223070c..e093e10c5 100644
--- a/src/event/ngx_event_openssl.h
+++ b/src/event/ngx_event_openssl.h
@@ -117,9 +117,10 @@ typedef struct {
#ifdef SSL_CTRL_SET_TLSEXT_TICKET_KEY_CB
typedef struct {
+ size_t size;
u_char name[16];
- u_char aes_key[16];
- u_char hmac_key[16];
+ u_char hmac_key[32];
+ u_char aes_key[32];
} ngx_ssl_session_ticket_key_t;
#endif