1
0
Fork 0
mirror of git://git.gnupg.org/gnupg.git synced 2025-07-03 22:56:33 +02:00

gpg: For composite algos add the algo string to the colons listings.

* g10/keylist.c (list_keyblock_colon): Put the algo string into the
curve field for Kyber.
--

GnuPG-bug-id: 6638
This commit is contained in:
Werner Koch 2024-11-14 14:04:50 +01:00
parent 6b02292d31
commit 7e066f614a
No known key found for this signature in database
GPG key ID: E3FDFF218E45B72B
3 changed files with 20 additions and 2 deletions

View file

@ -1882,6 +1882,7 @@ list_keyblock_colon (ctrl_t ctrl, kbnode_t keyblock,
unsigned int keylength;
char *curve = NULL;
const char *curvename = NULL;
char pkstrbuf[PUBKEY_STRING_SIZE];
/* Get the keyid from the keyblock. */
node = find_kbnode (keyblock, PKT_PUBLIC_KEY);
@ -1971,6 +1972,14 @@ list_keyblock_colon (ctrl_t ctrl, kbnode_t keyblock,
curvename = curve;
es_fputs (curvename, es_stdout);
}
else if (pk->pubkey_algo == PUBKEY_ALGO_KYBER)
{
/* Note that Kyber should actually not appear here because it is
* the primary key and Kyber is not able to certify. But we
* prepare it here for future composite algorithms and in case
* of faulty packets. */
es_fputs (pubkey_string (pk, pkstrbuf, sizeof pkstrbuf), es_stdout);
}
es_putc (':', es_stdout); /* End of field 17. */
print_compliance_flags (pk, keylength, curvename);
es_putc (':', es_stdout); /* End of field 18 (compliance). */
@ -2122,6 +2131,11 @@ list_keyblock_colon (ctrl_t ctrl, kbnode_t keyblock,
curvename = curve;
es_fputs (curvename, es_stdout);
}
else if (pk2->pubkey_algo == PUBKEY_ALGO_KYBER)
{
es_fputs (pubkey_string (pk2, pkstrbuf, sizeof pkstrbuf),
es_stdout);
}
es_putc (':', es_stdout); /* End of field 17. */
print_compliance_flags (pk2, keylength, curvename);
es_putc (':', es_stdout); /* End of field 18. */