summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorbeck <>2019-04-01 02:09:21 +0000
committerbeck <>2019-04-01 02:09:21 +0000
commit893fd8b877c9005a0b581d00a90b2f6c72a40bc5 (patch)
tree2e72979fafd35189a5361981a56eaa71555cbe5c /src
parentfd2c35571a7ae32e91f4aa0a97a2611030cbdb3d (diff)
downloadopenbsd-893fd8b877c9005a0b581d00a90b2f6c72a40bc5.tar.gz
openbsd-893fd8b877c9005a0b581d00a90b2f6c72a40bc5.tar.bz2
openbsd-893fd8b877c9005a0b581d00a90b2f6c72a40bc5.zip
Correct subtle bug in sigalgs, only care about curve_nid if we are
checking the curve. ok jsing@ tb@
Diffstat (limited to 'src')
-rw-r--r--src/lib/libssl/ssl_sigalgs.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/src/lib/libssl/ssl_sigalgs.c b/src/lib/libssl/ssl_sigalgs.c
index 129ccccfbc..37fdcfa73f 100644
--- a/src/lib/libssl/ssl_sigalgs.c
+++ b/src/lib/libssl/ssl_sigalgs.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: ssl_sigalgs.c,v 1.19 2019/03/25 17:33:26 jsing Exp $ */ 1/* $OpenBSD: ssl_sigalgs.c,v 1.20 2019/04/01 02:09:21 beck Exp $ */
2/* 2/*
3 * Copyright (c) 2018-2019 Bob Beck <beck@openbsd.org> 3 * Copyright (c) 2018-2019 Bob Beck <beck@openbsd.org>
4 * 4 *
@@ -244,11 +244,11 @@ ssl_sigalg_pkey_ok(const struct ssl_sigalg *sigalg, EVP_PKEY *pkey,
244 return 0; 244 return 0;
245 } 245 }
246 246
247 if (pkey->type == EVP_PKEY_EC) { 247 if (pkey->type == EVP_PKEY_EC && check_curve) {
248 /* Curve must match for EC keys. */
248 if (sigalg->curve_nid == 0) 249 if (sigalg->curve_nid == 0)
249 return 0; 250 return 0;
250 /* Curve must match for EC keys. */ 251 if (EC_GROUP_get_curve_name(EC_KEY_get0_group
251 if (check_curve && EC_GROUP_get_curve_name(EC_KEY_get0_group
252 (EVP_PKEY_get0_EC_KEY(pkey))) != sigalg->curve_nid) { 252 (EVP_PKEY_get0_EC_KEY(pkey))) != sigalg->curve_nid) {
253 return 0; 253 return 0;
254 } 254 }