diff options
author | jsing <> | 2017-03-01 14:01:24 +0000 |
---|---|---|
committer | jsing <> | 2017-03-01 14:01:24 +0000 |
commit | 613ead8355aec8a2fe15dc50bc542e103c781b55 (patch) | |
tree | f0f805682bcc8d26903692648cf6f3cfb6dab422 /src/lib/libssl/ssl_srvr.c | |
parent | 0cc22310c7e25a62c19ace035c038ac7a66671dd (diff) | |
download | openbsd-613ead8355aec8a2fe15dc50bc542e103c781b55.tar.gz openbsd-613ead8355aec8a2fe15dc50bc542e103c781b55.tar.bz2 openbsd-613ead8355aec8a2fe15dc50bc542e103c781b55.zip |
Convert ssl3_{get,send}_server_key_exchange() to EVP_md5_sha1().
ok inoguchi@
Diffstat (limited to 'src/lib/libssl/ssl_srvr.c')
-rw-r--r-- | src/lib/libssl/ssl_srvr.c | 36 |
1 files changed, 14 insertions, 22 deletions
diff --git a/src/lib/libssl/ssl_srvr.c b/src/lib/libssl/ssl_srvr.c index 8e7c1f4418..ddf8755707 100644 --- a/src/lib/libssl/ssl_srvr.c +++ b/src/lib/libssl/ssl_srvr.c | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: ssl_srvr.c,v 1.7 2017/02/28 14:08:50 jsing Exp $ */ | 1 | /* $OpenBSD: ssl_srvr.c,v 1.8 2017/03/01 14:01:24 jsing Exp $ */ |
2 | /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) | 2 | /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) |
3 | * All rights reserved. | 3 | * All rights reserved. |
4 | * | 4 | * |
@@ -1445,16 +1445,13 @@ ssl3_send_server_key_exchange(SSL *s) | |||
1445 | unsigned char *params = NULL; | 1445 | unsigned char *params = NULL; |
1446 | size_t params_len; | 1446 | size_t params_len; |
1447 | unsigned char *q; | 1447 | unsigned char *q; |
1448 | int j, num; | ||
1449 | unsigned char md_buf[MD5_DIGEST_LENGTH + SHA_DIGEST_LENGTH]; | 1448 | unsigned char md_buf[MD5_DIGEST_LENGTH + SHA_DIGEST_LENGTH]; |
1450 | unsigned int u; | 1449 | unsigned int u; |
1451 | EVP_PKEY *pkey; | 1450 | EVP_PKEY *pkey; |
1452 | const EVP_MD *md = NULL; | 1451 | const EVP_MD *md = NULL; |
1453 | unsigned char *p, *d; | 1452 | unsigned char *p, *d; |
1454 | int al, i; | 1453 | int al, i, j, n, kn; |
1455 | unsigned long type; | 1454 | unsigned long type; |
1456 | int n; | ||
1457 | int kn; | ||
1458 | BUF_MEM *buf; | 1455 | BUF_MEM *buf; |
1459 | EVP_MD_CTX md_ctx; | 1456 | EVP_MD_CTX md_ctx; |
1460 | 1457 | ||
@@ -1522,23 +1519,18 @@ ssl3_send_server_key_exchange(SSL *s) | |||
1522 | if (pkey->type == EVP_PKEY_RSA && !SSL_USE_SIGALGS(s)) { | 1519 | if (pkey->type == EVP_PKEY_RSA && !SSL_USE_SIGALGS(s)) { |
1523 | q = md_buf; | 1520 | q = md_buf; |
1524 | j = 0; | 1521 | j = 0; |
1525 | for (num = 2; num > 0; num--) { | 1522 | if (!EVP_DigestInit_ex(&md_ctx, EVP_md5_sha1(), |
1526 | if (!EVP_DigestInit_ex(&md_ctx, | 1523 | NULL)) |
1527 | (num == 2) ? EVP_md5() : EVP_sha1(), | 1524 | goto err; |
1528 | NULL)) | 1525 | EVP_DigestUpdate(&md_ctx, s->s3->client_random, |
1529 | goto err; | 1526 | SSL3_RANDOM_SIZE); |
1530 | EVP_DigestUpdate(&md_ctx, | 1527 | EVP_DigestUpdate(&md_ctx, s->s3->server_random, |
1531 | s->s3->client_random, | 1528 | SSL3_RANDOM_SIZE); |
1532 | SSL3_RANDOM_SIZE); | 1529 | EVP_DigestUpdate(&md_ctx, d, n); |
1533 | EVP_DigestUpdate(&md_ctx, | 1530 | EVP_DigestFinal_ex(&md_ctx, q, |
1534 | s->s3->server_random, | 1531 | (unsigned int *)&i); |
1535 | SSL3_RANDOM_SIZE); | 1532 | q += i; |
1536 | EVP_DigestUpdate(&md_ctx, d, n); | 1533 | j += i; |
1537 | EVP_DigestFinal_ex(&md_ctx, q, | ||
1538 | (unsigned int *)&i); | ||
1539 | q += i; | ||
1540 | j += i; | ||
1541 | } | ||
1542 | if (RSA_sign(NID_md5_sha1, md_buf, j, | 1534 | if (RSA_sign(NID_md5_sha1, md_buf, j, |
1543 | &(p[2]), &u, pkey->pkey.rsa) <= 0) { | 1535 | &(p[2]), &u, pkey->pkey.rsa) <= 0) { |
1544 | SSLerror(s, ERR_R_RSA_LIB); | 1536 | SSLerror(s, ERR_R_RSA_LIB); |