diff options
| author | jsing <> | 2021-06-27 19:23:51 +0000 |
|---|---|---|
| committer | jsing <> | 2021-06-27 19:23:51 +0000 |
| commit | 965b27267cd3ec2efbae469ff3190c696e822852 (patch) | |
| tree | a69f06d8a93017bbcd381361796ab0149ede3065 /src/lib/libssl/tls13_client.c | |
| parent | fe2e9ea28e886fa3dae7e2d6035a86fae494be20 (diff) | |
| download | openbsd-965b27267cd3ec2efbae469ff3190c696e822852.tar.gz openbsd-965b27267cd3ec2efbae469ff3190c696e822852.tar.bz2 openbsd-965b27267cd3ec2efbae469ff3190c696e822852.zip | |
Track the sigalgs used by ourselves and our peer.
Move the sigalg pointer from SSL_HANDSHAKE_TLS13 to SSL_HANDSHAKE, naming
it our_sigalg, adding an equivalent peer_sigalg. Adjust the TLSv1.3 code
that records our signature algorithm. Add code to record the signature
algorithm used by our peer.
Needed for upcoming API additions.
ok tb@
Diffstat (limited to '')
| -rw-r--r-- | src/lib/libssl/tls13_client.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/src/lib/libssl/tls13_client.c b/src/lib/libssl/tls13_client.c index 644b16e26c..4ba0dd92f2 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.82 2021/06/27 18:15:35 jsing Exp $ */ | 1 | /* $OpenBSD: tls13_client.c,v 1.83 2021/06/27 19:23:51 jsing 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 | * |
| @@ -697,6 +697,7 @@ tls13_server_certificate_verify_recv(struct tls13_ctx *ctx, CBS *cbs) | |||
| 697 | goto err; | 697 | goto err; |
| 698 | if (!ssl_sigalg_pkey_ok(sigalg, pkey, 1)) | 698 | if (!ssl_sigalg_pkey_ok(sigalg, pkey, 1)) |
| 699 | goto err; | 699 | goto err; |
| 700 | ctx->hs->peer_sigalg = sigalg; | ||
| 700 | 701 | ||
| 701 | if (CBS_len(&signature) > EVP_PKEY_size(pkey)) | 702 | if (CBS_len(&signature) > EVP_PKEY_size(pkey)) |
| 702 | goto err; | 703 | goto err; |
| @@ -898,7 +899,7 @@ tls13_client_certificate_send(struct tls13_ctx *ctx, CBB *cbb) | |||
| 898 | goto err; | 899 | goto err; |
| 899 | 900 | ||
| 900 | ctx->hs->tls13.cpk = cpk; | 901 | ctx->hs->tls13.cpk = cpk; |
| 901 | ctx->hs->tls13.sigalg = sigalg; | 902 | ctx->hs->our_sigalg = sigalg; |
| 902 | 903 | ||
| 903 | if (!CBB_add_u8_length_prefixed(cbb, &cert_request_context)) | 904 | if (!CBB_add_u8_length_prefixed(cbb, &cert_request_context)) |
| 904 | goto err; | 905 | goto err; |
| @@ -949,7 +950,7 @@ tls13_client_certificate_verify_send(struct tls13_ctx *ctx, CBB *cbb) | |||
| 949 | 950 | ||
| 950 | if ((cpk = ctx->hs->tls13.cpk) == NULL) | 951 | if ((cpk = ctx->hs->tls13.cpk) == NULL) |
| 951 | goto err; | 952 | goto err; |
| 952 | if ((sigalg = ctx->hs->tls13.sigalg) == NULL) | 953 | if ((sigalg = ctx->hs->our_sigalg) == NULL) |
| 953 | goto err; | 954 | goto err; |
| 954 | pkey = cpk->privatekey; | 955 | pkey = cpk->privatekey; |
| 955 | 956 | ||
