Add a DRBG to each SSL object
authorRich Salz <rsalz@openssl.org>
Thu, 3 Aug 2017 14:24:03 +0000 (10:24 -0400)
committerRich Salz <rsalz@openssl.org>
Thu, 3 Aug 2017 14:24:03 +0000 (10:24 -0400)
commitae3947de09522206d61c0206a733517b10a910f8
tree7044411af55af40f9f5f5adad685ccc70d155998
parent75e2c877650444fb829547bdb58d46eb1297bc1a
Add a DRBG to each SSL object

Give each SSL object it's own DRBG, chained to the parent global
DRBG which is used only as a source of randomness into the per-SSL
DRBG.  This is used for all session, ticket, and pre-master secret keys.
It is NOT used for ECDH key generation which use only the global
DRBG. (Doing that without changing the API is tricky, if not impossible.)

Reviewed-by: Paul Dale <paul.dale@oracle.com>
(Merged from https://github.com/openssl/openssl/pull/4050)
13 files changed:
apps/s_server.c
crypto/rand/drbg_lib.c
include/internal/rand.h
include/openssl/ssl.h
ssl/record/ssl3_record.c
ssl/s3_lib.c
ssl/ssl_lib.c
ssl/ssl_locl.h
ssl/ssl_sess.c
ssl/statem/statem_clnt.c
ssl/statem/statem_srvr.c
ssl/tls_srp.c
util/libcrypto.num