diff options
author | Dr. Stephen Henson <steve@openssl.org> | 2015-01-23 02:41:09 +0000 |
---|---|---|
committer | Dr. Stephen Henson <steve@openssl.org> | 2015-02-03 14:50:07 +0000 |
commit | c660ec63a83090051f3e110b00bd5753f21bce51 (patch) | |
tree | 2109e0ad1a7869424e4d2b254865e7cd24a71f9e /ssl/ssl_cert.c | |
parent | 48fbcbacd2b22ab8d1bd9203a8fdc316eaab62f1 (diff) |
Rewrite ssl3_send_client_key_exchange to support extms.
Rewrite ssl3_send_client_key_exchange to retain the premaster secret
instead of using it immediately.
This is needed because the premaster secret is used after the client key
exchange message has been sent to compute the extended master secret.
Reviewed-by: Tim Hudson <tjh@openssl.org>
Reviewed-by: Matt Caswell <matt@openssl.org>
Diffstat (limited to 'ssl/ssl_cert.c')
-rw-r--r-- | ssl/ssl_cert.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/ssl/ssl_cert.c b/ssl/ssl_cert.c index f2de54bdf5..1178d43fa0 100644 --- a/ssl/ssl_cert.c +++ b/ssl/ssl_cert.c @@ -476,6 +476,11 @@ void ssl_cert_free(CERT *c) custom_exts_free(&c->cli_ext); custom_exts_free(&c->srv_ext); #endif + if (c->pms) { + OPENSSL_cleanse(c->pms, c->pmslen); + OPENSSL_free(c->pms); + c->pms = NULL; + } OPENSSL_free(c); } |