From f5703994d4692fc310292a93296626f484936b16 Mon Sep 17 00:00:00 2001 From: NIIBE Yutaka Date: Tue, 8 Oct 2024 14:48:47 +0900 Subject: [PATCH] common,gpg,scd,sm: Use openpgp_oid_or_name_to_curve to get curve. * common/sexputil.c (pubkey_algo_string): Use openpgp_oid_or_name_to_curve. * g10/card-util.c (current_card_status, ask_card_keyattr): Likewise. * scd/app-piv.c (writekey_ecc): Likewise. * sm/fingerprint.c (gpgsm_get_key_algo_info): Likewise. -- Signed-off-by: NIIBE Yutaka --- common/sexputil.c | 3 +-- g10/card-util.c | 12 ++---------- scd/app-piv.c | 3 +-- sm/fingerprint.c | 3 +-- 4 files changed, 5 insertions(+), 16 deletions(-) diff --git a/common/sexputil.c b/common/sexputil.c index f9842391e..e00590ac7 100644 --- a/common/sexputil.c +++ b/common/sexputil.c @@ -1104,8 +1104,7 @@ pubkey_algo_string (gcry_sexp_t s_pkey, enum gcry_pk_algos *r_algoid) else if (prefix) { const char *curve = gcry_pk_get_curve (s_pkey, 0, NULL); - const char *name = openpgp_oid_to_curve - (openpgp_curve_to_oid (curve, NULL, NULL), 0); + const char *name = openpgp_oid_or_name_to_curve (curve, 0); if (name) result = xtrystrdup (name); diff --git a/g10/card-util.c b/g10/card-util.c index 002b26e45..5fd6094fc 100644 --- a/g10/card-util.c +++ b/g10/card-util.c @@ -631,13 +631,7 @@ current_card_status (ctrl_t ctrl, estream_t fp, const char *curve_for_print = "?"; if (info.key_attr[i].curve) - { - const char *oid; - oid = openpgp_curve_to_oid (info.key_attr[i].curve, - NULL, NULL); - if (oid) - curve_for_print = openpgp_oid_to_curve (oid, 0); - } + curve_for_print = openpgp_oid_or_name_to_curve (info.key_attr[i].curve, 0); tty_fprintf (fp, " %s", curve_for_print); } tty_fprintf (fp, "\n"); @@ -1524,7 +1518,6 @@ ask_card_keyattr (int keyno, const struct key_attr *current) else { const char *curve; - const char *oid_str; if (current->algo == PUBKEY_ALGO_RSA) { @@ -1545,8 +1538,7 @@ ask_card_keyattr (int keyno, const struct key_attr *current) if (curve) { key_attr->algo = algo; - oid_str = openpgp_curve_to_oid (curve, NULL, NULL); - key_attr->curve = openpgp_oid_to_curve (oid_str, 0); + key_attr->curve = openpgp_oid_or_name_to_curve (curve, 0); } else { diff --git a/scd/app-piv.c b/scd/app-piv.c index 8b9c9a608..2ef1e94ae 100644 --- a/scd/app-piv.c +++ b/scd/app-piv.c @@ -2882,8 +2882,7 @@ writekey_ecc (app_t app, data_object_t dobj, int keyref, * functions here because Libgcrypt has no generic curve * alias lookup feature and the PIV supported curves are * also supported by OpenPGP. */ - xname = openpgp_oid_to_curve (openpgp_curve_to_oid (name, NULL, NULL), - 0); + xname = openpgp_oid_or_name_to_curve (name, 0); xfree (name); if (xname && !strcmp (xname, "nistp256")) diff --git a/sm/fingerprint.c b/sm/fingerprint.c index 375a8647e..765c471c4 100644 --- a/sm/fingerprint.c +++ b/sm/fingerprint.c @@ -268,8 +268,7 @@ gpgsm_get_key_algo_info (ksba_cert_t cert, unsigned int *nbits, char **r_curve) curve = gcry_pk_get_curve (l1, 0, NULL); if (curve) { - name = openpgp_oid_to_curve (openpgp_curve_to_oid (curve, - NULL, NULL), 0); + name = openpgp_oid_or_name_to_curve (curve, 0); *r_curve = xtrystrdup (name? name : curve); if (!*r_curve) {