From: Daiki Ueno Date: Tue, 12 Apr 2022 06:21:12 +0000 (+0200) Subject: gnutls_pubkey_import_ecc_raw: allow X25519/X448 curves X-Git-Tag: 3.8.2~17^2~6 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=9151701122aa0aaecd2dfffc447006819d45a2cf;p=thirdparty%2Fgnutls.git gnutls_pubkey_import_ecc_raw: allow X25519/X448 curves Signed-off-by: Daiki Ueno --- diff --git a/lib/pubkey.c b/lib/pubkey.c index a783371b16..ca58ccc7c6 100644 --- a/lib/pubkey.c +++ b/lib/pubkey.c @@ -1666,7 +1666,7 @@ int gnutls_pubkey_import_ecc_raw(gnutls_pubkey_t key, gnutls_ecc_curve_t curve, gnutls_pk_params_release(&key->params); gnutls_pk_params_init(&key->params); - if (curve_is_eddsa(curve)) { + if (curve_is_eddsa(curve) || curve_is_modern_ecdh(curve)) { unsigned size = gnutls_ecc_curve_get_size(curve); if (x->size != size) { ret = gnutls_assert_val(GNUTLS_E_INVALID_REQUEST); @@ -1686,6 +1686,12 @@ int gnutls_pubkey_import_ecc_raw(gnutls_pubkey_t key, gnutls_ecc_curve_t curve, case GNUTLS_ECC_CURVE_ED448: key->params.algo = GNUTLS_PK_EDDSA_ED448; break; + case GNUTLS_ECC_CURVE_X25519: + key->params.algo = GNUTLS_PK_ECDH_X25519; + break; + case GNUTLS_ECC_CURVE_X448: + key->params.algo = GNUTLS_PK_ECDH_X448; + break; default: break; }