mirror of
git://git.gnupg.org/gnupg.git
synced 2025-07-03 22:56:33 +02:00
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 <gniibe@fsij.org>
This commit is contained in:
parent
945e7ab0dd
commit
b1828c17fc
3 changed files with 71 additions and 41 deletions
|
@ -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]))
|
||||
|
|
|
@ -568,7 +568,18 @@ card_status (estream_t fp, char *serialno, size_t serialnobuflen)
|
|||
else if (info.key_attr[i].algo == PUBKEY_ALGO_ECDH
|
||||
|| info.key_attr[i].algo == PUBKEY_ALGO_ECDSA
|
||||
|| info.key_attr[i].algo == PUBKEY_ALGO_EDDSA)
|
||||
tty_fprintf (fp, " %s", info.key_attr[i].curve);
|
||||
{
|
||||
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);
|
||||
if (oid)
|
||||
curve_for_print = openpgp_oid_to_curve (oid, 0);
|
||||
}
|
||||
tty_fprintf (fp, " %s", curve_for_print);
|
||||
}
|
||||
tty_fprintf (fp, "\n");
|
||||
}
|
||||
tty_fprintf (fp, "Max. PIN lengths .: %d %d %d\n",
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue