aboutsummaryrefslogtreecommitdiffstats
path: root/tools/wks-util.c
diff options
context:
space:
mode:
Diffstat (limited to 'tools/wks-util.c')
-rw-r--r--tools/wks-util.c27
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;
+}