Home GnuPG
Diffusion GnuPG 0709f358cd13

gpg: Refresh expired keys originating from the WKD.

Description

gpg: Refresh expired keys originating from the WKD.

* g10/getkey.c (getkey_ctx_s): New field found_via_akl.
(get_pubkey_byname): Set it.
(only_expired_enc_subkeys): New.
(get_best_pubkey_byname): Add support to refresh expired keys from the
WKD.

A little drawback of that code is that if the WKD has no update for an
expired key each access of the key will trigger a WKD lookup (unless
cached by the dirmngr). To avoid this we need to record the last time
we have checked for an update but that would in turn require that we
update the keyring for each check. We defer this until we have a
better key database which allows for fast updates of meta data.

Testing the code is currently a bit cumbersome because it requires to
update a key in the WKD several times. Eventually we we need a
network emulation layer to provide sample data for the regression
tests.

(cherry picked from commit 7f172404bfcf719b9b1af4a182d4803525ebff7c)

  • GnuPG-bug-id: T2917
  • Signed-off-by: Werner Koch <wk@gnupg.org>

Details

Provenance
wernerAuthored on Aug 28 2018, 3:22 PM
Parents
rG11a9fe1c5820: gpg: Remove unused arg from a function.
Branches
Unknown
Tags
Unknown
Tasks
T2917: --locate-key should re-fetch key via WKD if it is expired