diff options
| author | beck <> | 2019-04-01 02:09:21 +0000 |
|---|---|---|
| committer | beck <> | 2019-04-01 02:09:21 +0000 |
| commit | 5c3b06261b92569c576cf596d4ef856d59cd4cfd (patch) | |
| tree | 2e72979fafd35189a5361981a56eaa71555cbe5c /src/lib/libssl/ssl_sigalgs.c | |
| parent | 9b57175c86e80a6251857318201b3bc285c754ed (diff) | |
| download | openbsd-5c3b06261b92569c576cf596d4ef856d59cd4cfd.tar.gz openbsd-5c3b06261b92569c576cf596d4ef856d59cd4cfd.tar.bz2 openbsd-5c3b06261b92569c576cf596d4ef856d59cd4cfd.zip | |
Correct subtle bug in sigalgs, only care about curve_nid if we are
checking the curve.
ok jsing@ tb@
Diffstat (limited to 'src/lib/libssl/ssl_sigalgs.c')
| -rw-r--r-- | src/lib/libssl/ssl_sigalgs.c | 8 |
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 | } |
