mirror of
git://git.gnupg.org/gnupg.git
synced 2025-07-02 22:46:30 +02:00
gpg: Implement searching keys via keygrip.
* kbx/keybox-defs.h (struct _keybox_openpgp_key_info): Add field grip. * kbx/keybox-openpgp.c (struct keyparm_s): New. (keygrip_from_keyparm): New. (parse_key): Compute keygrip. * kbx/keybox-search.c (blob_openpgp_has_grip): New. (has_keygrip): Call it. -- This has been marked for too long as not yet working. However, it is a pretty useful feature and will come pretty handy when looking for all keys matching one keygrip. Can be optimized a lot by storing the keygrip in the meta data. This will be done along with the upgrade of KBX for v5 fingerprints. Signed-off-by: Werner Koch <wk@gnupg.org>
This commit is contained in:
parent
f382984966
commit
c128667b3c
5 changed files with 204 additions and 24 deletions
|
@ -329,6 +329,18 @@ dump_fpr (const unsigned char *buffer, size_t len)
|
|||
}
|
||||
|
||||
|
||||
static void
|
||||
dump_grip (const unsigned char *buffer, size_t len)
|
||||
{
|
||||
int i;
|
||||
|
||||
for (i=0; i < len; i++, buffer++)
|
||||
{
|
||||
printf ("%02X", buffer[0]);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
static void
|
||||
dump_openpgp_key (keybox_openpgp_info_t info, const unsigned char *image)
|
||||
{
|
||||
|
@ -338,6 +350,9 @@ dump_openpgp_key (keybox_openpgp_info_t info, const unsigned char *image)
|
|||
info->primary.keyid[6], info->primary.keyid[7] );
|
||||
dump_fpr (info->primary.fpr, info->primary.fprlen);
|
||||
putchar ('\n');
|
||||
fputs ("grp ", stdout);
|
||||
dump_grip (info->primary.grip, 20);
|
||||
putchar ('\n');
|
||||
if (info->nsubkeys)
|
||||
{
|
||||
struct _keybox_openpgp_key_info *k;
|
||||
|
@ -351,6 +366,9 @@ dump_openpgp_key (keybox_openpgp_info_t info, const unsigned char *image)
|
|||
k->keyid[6], k->keyid[7] );
|
||||
dump_fpr (k->fpr, k->fprlen);
|
||||
putchar ('\n');
|
||||
fputs ("grp ", stdout);
|
||||
dump_grip (k->grip, 20);
|
||||
putchar ('\n');
|
||||
k = k->next;
|
||||
}
|
||||
while (k);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue