diff options
author | Werner Koch <[email protected]> | 2016-04-27 06:34:29 +0000 |
---|---|---|
committer | Werner Koch <[email protected]> | 2016-04-27 06:34:29 +0000 |
commit | 87de9e19edf0311ca0342e15ef44ebe40e32861e (patch) | |
tree | 20f8f2c384040344ece6e00c64036c666dd4a843 /g10/gpgv.c | |
parent | dirmngr: Add experimental command WKD_GET. (diff) | |
download | gnupg-87de9e19edf0311ca0342e15ef44ebe40e32861e.tar.gz gnupg-87de9e19edf0311ca0342e15ef44ebe40e32861e.zip |
gpg: Add experimental AKL method "wkd" and option --with-wkd-hash.
* g10/getkey.c (parse_auto_key_locate): Add method "wkd".
(get_pubkey_byname): Implement that method. Also rename a variable.
* g10/call-dirmngr.c (gpg_dirmngr_wkd_get): New.
* g10/keyserver.c (keyserver_import_wkd): New.
* g10/test-stubs.c (keyserver_import_wkd): Add stub.
* g10/gpgv.c (keyserver_import_wkd): Ditto.
* g10/options.h (opt): Add field 'with_wkd_hash'.
(AKL_WKD): New.
* g10/gpg.c (oWithWKDHash): New.
(opts): Add option --with-wkd-hash.
(main): Set that option.
* g10/keylist.c (list_keyblock_print): Implement that option.
--
The Web Key Directory is an experimental feature to retrieve a key via
https. It is similar to OpenPGP DANE but also uses an encryption to
reveal less information about a key lookup.
For example the URI to lookup the key for [email protected] is:
https://example.org/.well-known/openpgpkey/
hu/example.org/iy9q119eutrkn8s1mk4r39qejnbu3n5q
(line has been wrapped for rendering purposes). The hash is a
z-Base-32 encoded SHA-1 hash of the mail address' local-part. The
address [email protected] can be used for testing.
Signed-off-by: Werner Koch <[email protected]>
Diffstat (limited to 'g10/gpgv.c')
-rw-r--r-- | g10/gpgv.c | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/g10/gpgv.c b/g10/gpgv.c index 19a2ff6c7..2a53e693a 100644 --- a/g10/gpgv.c +++ b/g10/gpgv.c @@ -374,6 +374,17 @@ keyserver_import_pka (const char *name,unsigned char *fpr) return -1; } +gpg_error_t +keyserver_import_wkd (ctrl_t ctrl, const char *name, + unsigned char **fpr, size_t *fpr_len) +{ + (void)ctrl; + (void)name; + (void)fpr; + (void)fpr_len; + return GPG_ERR_BUG; +} + int keyserver_import_name (const char *name,struct keyserver_spec *spec) { |