From e712778a7bfa65b971e9bbdc675f5abece108afd Mon Sep 17 00:00:00 2001 From: David Benjamin Date: Mon, 18 Aug 2014 23:15:29 -0400 Subject: [PATCH] Remove rsa_md5, md5, and sha1 fields from SSL_CTX. Just use the normal API for them. Change-Id: Ibb5988611a86e8d39abda1e02087523d98defb51 Reviewed-on: https://boringssl-review.googlesource.com/1555 Reviewed-by: Adam Langley --- include/openssl/ssl.h | 4 ---- ssl/s3_clnt.c | 4 ++-- ssl/s3_enc.c | 4 ++-- ssl/s3_srvr.c | 4 ++-- ssl/ssl_lib.c | 4 ---- 5 files changed, 6 insertions(+), 14 deletions(-) diff --git a/include/openssl/ssl.h b/include/openssl/ssl.h index e20a9fa89..5855b9fd0 100644 --- a/include/openssl/ssl.h +++ b/include/openssl/ssl.h @@ -909,10 +909,6 @@ struct ssl_ctx_st CRYPTO_EX_DATA ex_data; - const EVP_MD *rsa_md5;/* For SSLv2 - name is 'ssl2-md5' */ - const EVP_MD *md5; /* For SSLv3/TLSv1 'ssl3-md5' */ - const EVP_MD *sha1; /* For SSLv3/TLSv1 'ssl3->sha1' */ - STACK_OF(X509) *extra_certs; diff --git a/ssl/s3_clnt.c b/ssl/s3_clnt.c index 45bf9b460..cba98a772 100644 --- a/ssl/s3_clnt.c +++ b/ssl/s3_clnt.c @@ -1537,8 +1537,8 @@ int ssl3_get_server_key_exchange(SSL *s) for (num=2; num > 0; num--) { unsigned int digest_len; - EVP_DigestInit_ex(&md_ctx,(num == 2) - ?s->ctx->md5:s->ctx->sha1, NULL); + EVP_DigestInit_ex(&md_ctx, + (num == 2) ? EVP_md5() : EVP_sha1(), NULL); EVP_DigestUpdate(&md_ctx,&(s->s3->client_random[0]),SSL3_RANDOM_SIZE); EVP_DigestUpdate(&md_ctx,&(s->s3->server_random[0]),SSL3_RANDOM_SIZE); EVP_DigestUpdate(&md_ctx, CBS_data(¶meter), CBS_len(¶meter)); diff --git a/ssl/s3_enc.c b/ssl/s3_enc.c index ee85c1768..2f029b8ed 100644 --- a/ssl/s3_enc.c +++ b/ssl/s3_enc.c @@ -767,7 +767,7 @@ int ssl3_generate_master_secret(SSL *s, unsigned char *out, unsigned char *p, EVP_MD_CTX_init(&ctx); for (i=0; i<3; i++) { - EVP_DigestInit_ex(&ctx,s->ctx->sha1, NULL); + EVP_DigestInit_ex(&ctx, EVP_sha1(), NULL); EVP_DigestUpdate(&ctx,salt[i],strlen((const char *)salt[i])); EVP_DigestUpdate(&ctx,p,len); EVP_DigestUpdate(&ctx,&(s->s3->client_random[0]), @@ -776,7 +776,7 @@ int ssl3_generate_master_secret(SSL *s, unsigned char *out, unsigned char *p, SSL3_RANDOM_SIZE); EVP_DigestFinal_ex(&ctx,buf,&n); - EVP_DigestInit_ex(&ctx,s->ctx->md5, NULL); + EVP_DigestInit_ex(&ctx, EVP_md5(), NULL); EVP_DigestUpdate(&ctx,p,len); EVP_DigestUpdate(&ctx,buf,n); EVP_DigestFinal_ex(&ctx,out,&n); diff --git a/ssl/s3_srvr.c b/ssl/s3_srvr.c index f84d8d494..235ababce 100644 --- a/ssl/s3_srvr.c +++ b/ssl/s3_srvr.c @@ -1709,8 +1709,8 @@ int ssl3_send_server_key_exchange(SSL *s) j=0; for (num=2; num > 0; num--) { - EVP_DigestInit_ex(&md_ctx,(num == 2) - ?s->ctx->md5:s->ctx->sha1, NULL); + EVP_DigestInit_ex(&md_ctx, + (num == 2) ? EVP_md5() : EVP_sha1(), NULL); EVP_DigestUpdate(&md_ctx,&(s->s3->client_random[0]),SSL3_RANDOM_SIZE); EVP_DigestUpdate(&md_ctx,&(s->s3->server_random[0]),SSL3_RANDOM_SIZE); EVP_DigestUpdate(&md_ctx,d,n); diff --git a/ssl/ssl_lib.c b/ssl/ssl_lib.c index ea8af85f8..5e633c103 100644 --- a/ssl/ssl_lib.c +++ b/ssl/ssl_lib.c @@ -1984,10 +1984,6 @@ SSL_CTX *SSL_CTX_new(const SSL_METHOD *meth) if (!ret->param) goto err; - ret->rsa_md5 = EVP_md5(); - ret->md5 = EVP_md5(); - ret->sha1 = EVP_sha1(); - if ((ret->client_CA=sk_X509_NAME_new_null()) == NULL) goto err;