1
0
Fork 0
mirror of git://git.gnupg.org/gnupg.git synced 2025-07-02 22:46:30 +02:00

gpg: Update --trusted-key to accept fingerprint as well as long key id.

* g10/trustdb.c (tdb_register_trusted_key): accept fingerprint as well
as long key ID.
* doc/gpg.texi: document that --trusted-key can accept a fingerprint.
--

GnuPG-bug-id: 4855
Signed-off-by: Daniel Kahn Gillmor <dkg@fifthhorseman.net>

Fixed uses or return and kept the old string to avoid breaking
translations.

Signed-off-by: Werner Koch <wk@gnupg.org>
This commit is contained in:
Daniel Kahn Gillmor 2020-02-26 12:53:22 -05:00 committed by Werner Koch
parent 161a098be6
commit 810ea2cc68
No known key found for this signature in database
GPG key ID: E3FDFF218E45B72B
2 changed files with 20 additions and 8 deletions

View file

@ -205,22 +205,34 @@ tdb_register_trusted_keyid (u32 *keyid)
user_utk_list = k;
}
void
tdb_register_trusted_key( const char *string )
tdb_register_trusted_key (const char *string)
{
gpg_error_t err;
KEYDB_SEARCH_DESC desc;
u32 kid[2];
err = classify_user_id (string, &desc, 1);
if (err || desc.mode != KEYDB_SEARCH_MODE_LONG_KID )
if (!err)
{
log_error(_("'%s' is not a valid long keyID\n"), string );
return;
if (desc.mode == KEYDB_SEARCH_MODE_LONG_KID)
{
register_trusted_keyid (desc.u.kid);
return;
}
if (desc.mode == KEYDB_SEARCH_MODE_FPR && desc.fprlen == 20)
{
kid[0] = buf32_to_u32 (desc.u.fpr+12);
kid[1] = buf32_to_u32 (desc.u.fpr+16);
register_trusted_keyid (kid);
return;
}
}
register_trusted_keyid(desc.u.kid);
log_error (_("'%s' is not a valid long keyID\n"), string );
}
/*
* Helper to add a key to the global list of ultimately trusted keys.
* Returns: true = inserted, false = already in list.