From b1828c17fc475def1ee9e06f083f513f568c241b Mon Sep 17 00:00:00 2001 From: NIIBE Yutaka Date: Mon, 24 Oct 2016 11:22:44 +0900 Subject: scd: Use canonical curve name of libgcrypt. * scd/app-openpgp.c (send_key_attr): Use curve instead of OID. (ecdh_params): New. (ecc_read_pubkey): Use ecdh_params. Use curve name. (ecc_writekey): Likewise. (ecc_curve): Rename from ecc_oid. (parse_algorithm_attribute): Use ecc_curve. * g10/call-agent.c (learn_status_cb): Use openpgp_is_curve_supported to intern the curve name string. * g10/card-util.c (card_status): Conver curve name to alias for print. -- Now, sdcaemon answer for KEY-ATTR is in the canonical curve name instead of the alias. Since it is used of key generation for card encryption key with backup, it should be canonical name. Signed-off-by: NIIBE Yutaka --- g10/call-agent.c | 10 +--------- 1 file changed, 1 insertion(+), 9 deletions(-) (limited to 'g10/call-agent.c') diff --git a/g10/call-agent.c b/g10/call-agent.c index e7af001df..b17a80f11 100644 --- a/g10/call-agent.c +++ b/g10/call-agent.c @@ -624,15 +624,7 @@ learn_status_cb (void *opaque, const char *line) parm->key_attr[keyno].nbits = strtoul (line+n+3, NULL, 10); else if (algo == PUBKEY_ALGO_ECDH || algo == PUBKEY_ALGO_ECDSA || algo == PUBKEY_ALGO_EDDSA) - { - const char *curve; - - for (i = 0; (curve = openpgp_enum_curves (&i));) - if (!strcmp (curve, line+n)) - break; - - parm->key_attr[keyno].curve = curve; - } + parm->key_attr[keyno].curve = openpgp_is_curve_supported (line+n, NULL); } else if (keywordlen == 12 && !memcmp (keyword, "PRIVATE-DO-", 11) && strchr("1234", keyword[11])) -- cgit v1.2.3