diff options
Diffstat (limited to 'tools/wks-util.c')
-rw-r--r-- | tools/wks-util.c | 27 |
1 files changed, 26 insertions, 1 deletions
diff --git a/tools/wks-util.c b/tools/wks-util.c index fee46d633..29e9248b4 100644 --- a/tools/wks-util.c +++ b/tools/wks-util.c @@ -1104,7 +1104,7 @@ wks_cmd_remove_key (const char *userid) } -/* Print the WKD hash for the user ids to stdout. */ +/* Print the WKD hash for the user id to stdout. */ gpg_error_t wks_cmd_print_wkd_hash (const char *userid) { @@ -1121,3 +1121,28 @@ wks_cmd_print_wkd_hash (const char *userid) xfree (addrspec); return err; } + + +/* Print the WKD URL for the user id to stdout. */ +gpg_error_t +wks_cmd_print_wkd_url (const char *userid) +{ + gpg_error_t err; + char *addrspec, *fname; + char *domain; + + err = wks_fname_from_userid (userid, 1, &fname, &addrspec); + if (err) + return err; + + domain = strchr (addrspec, '@'); + if (domain) + *domain++ = 0; + + es_printf ("https://openpgpkey.%s/.well-known/openpgpkey/%s/hu/%s?l=%s\n", + domain, domain, fname, addrspec); + + xfree (fname); + xfree (addrspec); + return err; +} |