diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/lib/libssl/tls13_client.c | 16 | ||||
| -rw-r--r-- | src/lib/libssl/tls13_server.c | 16 |
2 files changed, 10 insertions, 22 deletions
diff --git a/src/lib/libssl/tls13_client.c b/src/lib/libssl/tls13_client.c index 3555ebadd1..053cf1689b 100644 --- a/src/lib/libssl/tls13_client.c +++ b/src/lib/libssl/tls13_client.c | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | /* $OpenBSD: tls13_client.c,v 1.101 2022/11/26 16:08:56 tb Exp $ */ | 1 | /* $OpenBSD: tls13_client.c,v 1.102 2023/06/10 15:34:36 tb Exp $ */ |
| 2 | /* | 2 | /* |
| 3 | * Copyright (c) 2018, 2019 Joel Sing <jsing@openbsd.org> | 3 | * Copyright (c) 2018, 2019 Joel Sing <jsing@openbsd.org> |
| 4 | * | 4 | * |
| @@ -688,12 +688,8 @@ tls13_server_certificate_verify_recv(struct tls13_ctx *ctx, CBS *cbs) | |||
| 688 | if (!EVP_PKEY_CTX_set_rsa_pss_saltlen(pctx, -1)) | 688 | if (!EVP_PKEY_CTX_set_rsa_pss_saltlen(pctx, -1)) |
| 689 | goto err; | 689 | goto err; |
| 690 | } | 690 | } |
| 691 | if (!EVP_DigestVerifyUpdate(mdctx, sig_content, sig_content_len)) { | 691 | if (EVP_DigestVerify(mdctx, CBS_data(&signature), CBS_len(&signature), |
| 692 | ctx->alert = TLS13_ALERT_DECRYPT_ERROR; | 692 | sig_content, sig_content_len) <= 0) { |
| 693 | goto err; | ||
| 694 | } | ||
| 695 | if (EVP_DigestVerifyFinal(mdctx, CBS_data(&signature), | ||
| 696 | CBS_len(&signature)) <= 0) { | ||
| 697 | ctx->alert = TLS13_ALERT_DECRYPT_ERROR; | 693 | ctx->alert = TLS13_ALERT_DECRYPT_ERROR; |
| 698 | goto err; | 694 | goto err; |
| 699 | } | 695 | } |
| @@ -956,13 +952,11 @@ tls13_client_certificate_verify_send(struct tls13_ctx *ctx, CBB *cbb) | |||
| 956 | if (!EVP_PKEY_CTX_set_rsa_pss_saltlen(pctx, -1)) | 952 | if (!EVP_PKEY_CTX_set_rsa_pss_saltlen(pctx, -1)) |
| 957 | goto err; | 953 | goto err; |
| 958 | } | 954 | } |
| 959 | if (!EVP_DigestSignUpdate(mdctx, sig_content, sig_content_len)) | 955 | if (!EVP_DigestSign(mdctx, NULL, &sig_len, sig_content, sig_content_len)) |
| 960 | goto err; | ||
| 961 | if (EVP_DigestSignFinal(mdctx, NULL, &sig_len) <= 0) | ||
| 962 | goto err; | 956 | goto err; |
| 963 | if ((sig = calloc(1, sig_len)) == NULL) | 957 | if ((sig = calloc(1, sig_len)) == NULL) |
| 964 | goto err; | 958 | goto err; |
| 965 | if (EVP_DigestSignFinal(mdctx, sig, &sig_len) <= 0) | 959 | if (!EVP_DigestSign(mdctx, sig, &sig_len, sig_content, sig_content_len)) |
| 966 | goto err; | 960 | goto err; |
| 967 | 961 | ||
| 968 | if (!CBB_add_u16(cbb, sigalg->value)) | 962 | if (!CBB_add_u16(cbb, sigalg->value)) |
diff --git a/src/lib/libssl/tls13_server.c b/src/lib/libssl/tls13_server.c index 75510a9085..dfeb1e0166 100644 --- a/src/lib/libssl/tls13_server.c +++ b/src/lib/libssl/tls13_server.c | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | /* $OpenBSD: tls13_server.c,v 1.105 2022/11/26 16:08:56 tb Exp $ */ | 1 | /* $OpenBSD: tls13_server.c,v 1.106 2023/06/10 15:34:36 tb Exp $ */ |
| 2 | /* | 2 | /* |
| 3 | * Copyright (c) 2019, 2020 Joel Sing <jsing@openbsd.org> | 3 | * Copyright (c) 2019, 2020 Joel Sing <jsing@openbsd.org> |
| 4 | * Copyright (c) 2020 Bob Beck <beck@openbsd.org> | 4 | * Copyright (c) 2020 Bob Beck <beck@openbsd.org> |
| @@ -754,13 +754,11 @@ tls13_server_certificate_verify_send(struct tls13_ctx *ctx, CBB *cbb) | |||
| 754 | if (!EVP_PKEY_CTX_set_rsa_pss_saltlen(pctx, -1)) | 754 | if (!EVP_PKEY_CTX_set_rsa_pss_saltlen(pctx, -1)) |
| 755 | goto err; | 755 | goto err; |
| 756 | } | 756 | } |
| 757 | if (!EVP_DigestSignUpdate(mdctx, sig_content, sig_content_len)) | 757 | if (!EVP_DigestSign(mdctx, NULL, &sig_len, sig_content, sig_content_len)) |
| 758 | goto err; | ||
| 759 | if (EVP_DigestSignFinal(mdctx, NULL, &sig_len) <= 0) | ||
| 760 | goto err; | 758 | goto err; |
| 761 | if ((sig = calloc(1, sig_len)) == NULL) | 759 | if ((sig = calloc(1, sig_len)) == NULL) |
| 762 | goto err; | 760 | goto err; |
| 763 | if (EVP_DigestSignFinal(mdctx, sig, &sig_len) <= 0) | 761 | if (!EVP_DigestSign(mdctx, sig, &sig_len, sig_content, sig_content_len)) |
| 764 | goto err; | 762 | goto err; |
| 765 | 763 | ||
| 766 | if (!CBB_add_u16(cbb, sigalg->value)) | 764 | if (!CBB_add_u16(cbb, sigalg->value)) |
| @@ -999,12 +997,8 @@ tls13_client_certificate_verify_recv(struct tls13_ctx *ctx, CBS *cbs) | |||
| 999 | if (!EVP_PKEY_CTX_set_rsa_pss_saltlen(pctx, -1)) | 997 | if (!EVP_PKEY_CTX_set_rsa_pss_saltlen(pctx, -1)) |
| 1000 | goto err; | 998 | goto err; |
| 1001 | } | 999 | } |
| 1002 | if (!EVP_DigestVerifyUpdate(mdctx, sig_content, sig_content_len)) { | 1000 | if (EVP_DigestVerify(mdctx, CBS_data(&signature), CBS_len(&signature), |
| 1003 | ctx->alert = TLS13_ALERT_DECRYPT_ERROR; | 1001 | sig_content, sig_content_len) <= 0) { |
| 1004 | goto err; | ||
| 1005 | } | ||
| 1006 | if (EVP_DigestVerifyFinal(mdctx, CBS_data(&signature), | ||
| 1007 | CBS_len(&signature)) <= 0) { | ||
| 1008 | ctx->alert = TLS13_ALERT_DECRYPT_ERROR; | 1002 | ctx->alert = TLS13_ALERT_DECRYPT_ERROR; |
| 1009 | goto err; | 1003 | goto err; |
| 1010 | } | 1004 | } |
