From: Jonathan McDowell Date: Sun, 2 Nov 2008 13:15:29 +0000 (+0000) Subject: Add support for displaying Elgamal encrypt or sign keys (deprecated) X-Git-Url: https://git.sommitrealweird.co.uk/onak.git/commitdiff_plain/1a72b8d85895fc9ffba0d8f6a9240634ce6ee8dc?ds=inline Add support for displaying Elgamal encrypt or sign keys (deprecated) These keys are no longer supported as they're cryptographically weak, but old versions exist and we should display them properly. --- diff --git a/keyindex.c b/keyindex.c index fead60b..d2094d5 100644 --- a/keyindex.c +++ b/keyindex.c @@ -201,6 +201,7 @@ int key_index(struct openpgp_publickey *keys, bool verbose, bool fingerprint, struct tm *created = NULL; time_t created_time = 0; int type = 0; + char typech; int length = 0; char buf[1024]; uint64_t keyid; @@ -235,13 +236,30 @@ int key_index(struct openpgp_publickey *keys, bool verbose, bool fingerprint, keyid = get_keyid(keys); + switch (type) { + case 1: + typech = 'R'; + break; + case 16: + typech = 'g'; + break; + case 17: + typech = 'D'; + break; + case 20: + typech = 'G'; + break; + default: + typech = '?'; + break; + } + if (html) { printf("pub %5d%c/%08" PRIX64 " %04d/%02d/%02d ", length, - (type == 1) ? 'R' : ((type == 16) ? 'g' : - ((type == 17) ? 'D' : '?')), + typech, keyid, keyid & 0xFFFFFFFF, created->tm_year + 1900, @@ -250,8 +268,7 @@ int key_index(struct openpgp_publickey *keys, bool verbose, bool fingerprint, } else { printf("pub %5d%c/%08" PRIX64 " %04d/%02d/%02d ", length, - (type == 1) ? 'R' : ((type == 16) ? 'g' : - ((type == 17) ? 'D' : '?')), + typech, keyid & 0xFFFFFFFF, created->tm_year + 1900, created->tm_mon + 1,