diff options
Diffstat (limited to '')
| -rw-r--r-- | src/lib/libssl/s3_clnt.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/src/lib/libssl/s3_clnt.c b/src/lib/libssl/s3_clnt.c index 26ce0cb963..0969476b25 100644 --- a/src/lib/libssl/s3_clnt.c +++ b/src/lib/libssl/s3_clnt.c | |||
| @@ -117,6 +117,7 @@ | |||
| 117 | #include <openssl/objects.h> | 117 | #include <openssl/objects.h> |
| 118 | #include <openssl/evp.h> | 118 | #include <openssl/evp.h> |
| 119 | #include <openssl/md5.h> | 119 | #include <openssl/md5.h> |
| 120 | #include <openssl/fips.h> | ||
| 120 | 121 | ||
| 121 | static SSL_METHOD *ssl3_get_client_method(int ver); | 122 | static SSL_METHOD *ssl3_get_client_method(int ver); |
| 122 | static int ssl3_client_hello(SSL *s); | 123 | static int ssl3_client_hello(SSL *s); |
| @@ -534,7 +535,8 @@ static int ssl3_client_hello(SSL *s) | |||
| 534 | p=s->s3->client_random; | 535 | p=s->s3->client_random; |
| 535 | Time=time(NULL); /* Time */ | 536 | Time=time(NULL); /* Time */ |
| 536 | l2n(Time,p); | 537 | l2n(Time,p); |
| 537 | RAND_pseudo_bytes(p,SSL3_RANDOM_SIZE-sizeof(Time)); | 538 | if(RAND_pseudo_bytes(p,SSL3_RANDOM_SIZE-4) <= 0) |
| 539 | goto err; | ||
| 538 | 540 | ||
| 539 | /* Do the message type and length last */ | 541 | /* Do the message type and length last */ |
| 540 | d=p= &(buf[4]); | 542 | d=p= &(buf[4]); |
| @@ -1160,11 +1162,14 @@ static int ssl3_get_key_exchange(SSL *s) | |||
| 1160 | q=md_buf; | 1162 | q=md_buf; |
| 1161 | for (num=2; num > 0; num--) | 1163 | for (num=2; num > 0; num--) |
| 1162 | { | 1164 | { |
| 1165 | EVP_MD_CTX_set_flags(&md_ctx, | ||
| 1166 | EVP_MD_CTX_FLAG_NON_FIPS_ALLOW); | ||
| 1163 | EVP_DigestInit_ex(&md_ctx,(num == 2) | 1167 | EVP_DigestInit_ex(&md_ctx,(num == 2) |
| 1164 | ?s->ctx->md5:s->ctx->sha1, NULL); | 1168 | ?s->ctx->md5:s->ctx->sha1, NULL); |
| 1165 | EVP_DigestUpdate(&md_ctx,&(s->s3->client_random[0]),SSL3_RANDOM_SIZE); | 1169 | EVP_DigestUpdate(&md_ctx,&(s->s3->client_random[0]),SSL3_RANDOM_SIZE); |
| 1166 | EVP_DigestUpdate(&md_ctx,&(s->s3->server_random[0]),SSL3_RANDOM_SIZE); | 1170 | EVP_DigestUpdate(&md_ctx,&(s->s3->server_random[0]),SSL3_RANDOM_SIZE); |
| 1167 | EVP_DigestUpdate(&md_ctx,param,param_len); | 1171 | EVP_DigestUpdate(&md_ctx,param,param_len); |
| 1172 | |||
| 1168 | EVP_DigestFinal_ex(&md_ctx,q,(unsigned int *)&i); | 1173 | EVP_DigestFinal_ex(&md_ctx,q,(unsigned int *)&i); |
| 1169 | q+=i; | 1174 | q+=i; |
| 1170 | j+=i; | 1175 | j+=i; |
