mirror of
git://git.gnupg.org/gnupg.git
synced 2025-07-03 22:56:33 +02:00
common: Add OpenPGP<->Gcrypt pubkey id mapping functions.
* g10/misc.c (map_pk_gcry_to_openpgp): Move to ... * common/openpgp-oid.c (map_gcry_pk_to_openpgp): here and rename. Change all 4 callers. (map_openpgp_pk_to_gcry): New. Signed-off-by: Werner Koch <wk@gnupg.org>
This commit is contained in:
parent
9df9996b41
commit
49c891a9bf
5 changed files with 41 additions and 21 deletions
|
@ -462,3 +462,33 @@ openpgp_is_curve_supported (const char *name, int *r_algo,
|
|||
}
|
||||
return NULL;
|
||||
}
|
||||
|
||||
|
||||
/* Map a Gcrypt public key algorithm number to the used by OpenPGP.
|
||||
* Returns 0 for unknown gcry algorithm. */
|
||||
pubkey_algo_t
|
||||
map_gcry_pk_to_openpgp (enum gcry_pk_algos algo)
|
||||
{
|
||||
switch (algo)
|
||||
{
|
||||
case GCRY_PK_EDDSA: return PUBKEY_ALGO_EDDSA;
|
||||
case GCRY_PK_ECDSA: return PUBKEY_ALGO_ECDSA;
|
||||
case GCRY_PK_ECDH: return PUBKEY_ALGO_ECDH;
|
||||
default: return algo < 110 ? (pubkey_algo_t)algo : 0;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/* Map an OpenPGP public key algorithm number to the one used by
|
||||
* Libgcrypt. Returns 0 for unknown gcry algorithm. */
|
||||
enum gcry_pk_algos
|
||||
map_openpgp_pk_to_gcry (pubkey_algo_t algo)
|
||||
{
|
||||
switch (algo)
|
||||
{
|
||||
case PUBKEY_ALGO_EDDSA: return GCRY_PK_EDDSA;
|
||||
case PUBKEY_ALGO_ECDSA: return GCRY_PK_ECDSA;
|
||||
case PUBKEY_ALGO_ECDH: return GCRY_PK_ECDH;
|
||||
default: return algo < 110 ? algo : 0;
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue