diff options
author | Werner Koch <[email protected]> | 2024-11-14 11:31:21 +0000 |
---|---|---|
committer | Werner Koch <[email protected]> | 2024-11-14 11:31:21 +0000 |
commit | 62b6c1f16ae0ed7b0eb1b095ee383aa0910314bb (patch) | |
tree | 1a5bde52c798a8c6c9406c24a971b8ce7c3868e1 /src/gpgme.c | |
parent | Post release updates (diff) | |
download | gpgme-62b6c1f16ae0ed7b0eb1b095ee383aa0910314bb.tar.gz gpgme-62b6c1f16ae0ed7b0eb1b095ee383aa0910314bb.zip |
Support the Kyber algorithm in key listings.
* src/gpgme.h.in (GPGME_PK_KYBER): New.
* src/conversion.c (_gpgme_map_pk_algo): Handle Kyber.
* src/gpgme.c (gpgme_pubkey_algo_string): Support Kyber.
(gpgme_pubkey_algo_name): Add Kyber.
Diffstat (limited to 'src/gpgme.c')
-rw-r--r-- | src/gpgme.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/src/gpgme.c b/src/gpgme.c index 4f63cc4f..e65fb38a 100644 --- a/src/gpgme.c +++ b/src/gpgme.c @@ -1295,6 +1295,7 @@ gpgme_pubkey_algo_string (gpgme_subkey_t subkey) { const char *prefix = NULL; char *result; + int composite = 0; if (!subkey) { @@ -1306,6 +1307,7 @@ gpgme_pubkey_algo_string (gpgme_subkey_t subkey) { case GPGME_PK_RSA: case GPGME_PK_RSA_E: + case GPGME_PK_KYBER: composite = 1; break; case GPGME_PK_RSA_S: prefix = "rsa"; break; case GPGME_PK_ELG_E: prefix = "elg"; break; case GPGME_PK_DSA: prefix = "dsa"; break; @@ -1316,9 +1318,12 @@ gpgme_pubkey_algo_string (gpgme_subkey_t subkey) case GPGME_PK_EDDSA: prefix = ""; break; } - if (prefix && *prefix) + if (composite && subkey->curve) + result = strdup (subkey->curve); + else if (prefix && *prefix) { char buffer[40]; + snprintf (buffer, sizeof buffer, "%s%u", prefix, subkey->length); result = strdup (buffer); } @@ -1341,6 +1346,7 @@ gpgme_pubkey_algo_name (gpgme_pubkey_algo_t algo) case GPGME_PK_RSA: return "RSA"; case GPGME_PK_RSA_E: return "RSA-E"; case GPGME_PK_RSA_S: return "RSA-S"; + case GPGME_PK_KYBER: return "KYBER"; case GPGME_PK_ELG_E: return "ELG-E"; case GPGME_PK_DSA: return "DSA"; case GPGME_PK_ECC: return "ECC"; |