1
0
Fork 0
mirror of git://git.gnupg.org/gnupg.git synced 2025-07-02 22:46:30 +02:00

common: Extend the openpgp_curve_to_oid function.

* common/openpgp-oid.c (openpgp_curve_to_oid): Add optional arg R_NBITS.
Change all callers.
--

In particular for ed25519 and cv25519 it is quite useful to have an
ability to get the required algorithm.

(cherry picked from commit 24095101a5)
This commit is contained in:
Werner Koch 2020-02-11 14:38:03 +01:00
parent f3c98b8cb5
commit 5b8593135f
No known key found for this signature in database
GPG key ID: E3FDFF218E45B72B
8 changed files with 24 additions and 14 deletions

View file

@ -586,7 +586,8 @@ current_card_status (ctrl_t ctrl, estream_t fp,
if (info.key_attr[i].curve)
{
const char *oid;
oid = openpgp_curve_to_oid (info.key_attr[i].curve, NULL);
oid = openpgp_curve_to_oid (info.key_attr[i].curve,
NULL, NULL);
if (oid)
curve_for_print = openpgp_oid_to_curve (oid, 0);
}
@ -1489,7 +1490,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);
oid_str = openpgp_curve_to_oid (curve, NULL, NULL);
key_attr->curve = openpgp_oid_to_curve (oid_str, 0);
}
else

View file

@ -567,7 +567,7 @@ match_curve_skey_pk (gcry_sexp_t s_key, PKT_public_key *pk)
log_error ("no curve name\n");
return gpg_error (GPG_ERR_UNKNOWN_CURVE);
}
oidstr = openpgp_curve_to_oid (curve_str, NULL);
oidstr = openpgp_curve_to_oid (curve_str, NULL, NULL);
if (!oidstr)
{
log_error ("no OID known for curve '%s'\n", curve_str);
@ -1073,7 +1073,7 @@ transfer_format_to_openpgp (gcry_sexp_t s_pgp, PKT_public_key *pk)
goto leave;
}
oidstr = openpgp_curve_to_oid (curve, NULL);
oidstr = openpgp_curve_to_oid (curve, NULL, NULL);
if (!oidstr)
{
log_error ("no OID known for curve '%s'\n", curve);

View file

@ -1850,7 +1850,7 @@ list_config(char *items)
es_printf ("cfg:curveoid:");
for (iter=0, first=1; (s = openpgp_enum_curves (&iter)); first = 0)
{
s = openpgp_curve_to_oid (s, NULL);
s = openpgp_curve_to_oid (s, NULL, NULL);
es_printf ("%s%s", first?"":";", s? s:"[?]");
}
es_printf ("\n");

View file

@ -1160,7 +1160,7 @@ ecckey_from_sexp (gcry_mpi_t *array, gcry_sexp_t sexp, int algo)
goto leave;
}
gcry_sexp_release (l2);
oidstr = openpgp_curve_to_oid (curve, &nbits);
oidstr = openpgp_curve_to_oid (curve, &nbits, NULL);
if (!oidstr)
{
/* That can't happen because we used one of the curves