mirror of
git://git.gnupg.org/gnupg.git
synced 2025-07-02 22:46:30 +02:00
gpg: Cache a once computed fingerprint in PKT_public_key.
* g10/packet.h (PKT_public_key): Add fields fpr and fprlen. * g10/keyid.c (do_fingerprint_md): Remove. (compute_fingerprint): New. (keyid_from_pk): Simplify. (fingerprint_from_pk): Simplify. (hexfingerprint): Avoid using extra array. -- This is similar to what we are doing with the keyid for a long time. Signed-off-by: Werner Koch <wk@gnupg.org>
This commit is contained in:
parent
1b1f649dea
commit
60f3845921
2 changed files with 50 additions and 71 deletions
|
@ -394,6 +394,7 @@ typedef struct
|
|||
byte pubkey_algo;
|
||||
byte pubkey_usage; /* for now only used to pass it to getkey() */
|
||||
byte req_usage; /* hack to pass a request to getkey() */
|
||||
byte fprlen; /* 0 or length of FPR. */
|
||||
u32 has_expired; /* set to the expiration date if expired */
|
||||
/* keyid of the primary key. Never access this value directly.
|
||||
Instead, use pk_main_keyid(). */
|
||||
|
@ -401,6 +402,8 @@ typedef struct
|
|||
/* keyid of this key. Never access this value directly! Instead,
|
||||
use pk_keyid(). */
|
||||
u32 keyid[2];
|
||||
/* Fingerprint of the key. Only valid if FPRLEN is not 0. */
|
||||
byte fpr[MAX_FINGERPRINT_LEN];
|
||||
prefitem_t *prefs; /* list of preferences (may be NULL) */
|
||||
struct
|
||||
{
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue