Abstract
WKD key import does not import existing keys due to dirmngr caching information for non-existing keys.
Versions
2.5.4 Upstream and 2.2.40 Debian/Devuan
Situation
Assume there is no key for alice@example.net via WKD published, but there is one available for bob@example.net via WKD. The domain parts are equal.
Try to import from the command line (output stripped to important parts):
$ gpg -v --locate-external-keys alice@example.net gpg: error retrieving 'alice@example.net' via WKD: No data $ gpg -v --locate-external-keys bob@example.net gpg: Note: WKD uses a cached result gpg: error retrieving 'bob@example.net' via WKD: No data
This has got several implications:
- it appears to be a client self DoS
- UX interference in interactive mode, hard to understand
- any setup with batch key import will probably fail starting from the first non-existing key
Mitigation
A user can kill the dirmngr process. Then a key import for bob@example.net works again.