Encrypt session tickets
diff --git a/library/ssl_tls.c b/library/ssl_tls.c
index f4d6e24..fb01c6c 100644
--- a/library/ssl_tls.c
+++ b/library/ssl_tls.c
@@ -2979,6 +2979,7 @@
{
int ret;
ssl_ticket_keys *tkeys;
+ unsigned char buf[32];
if( ssl->ticket_keys != NULL )
return( 0 );
@@ -2989,6 +2990,13 @@
if( ( ret = ssl->f_rng( ssl->p_rng, tkeys->key_name, 16 ) ) != 0 )
return( ret );
+ if( ( ret = ssl->f_rng( ssl->p_rng, buf, 16 ) ) != 0 ||
+ ( ret = aes_setkey_enc( &tkeys->enc, buf, 128 ) ) != 0 ||
+ ( ret = aes_setkey_dec( &tkeys->dec, buf, 128 ) ) != 0 )
+ {
+ return( ret );
+ }
+
ssl->ticket_keys = tkeys;
return( 0 );