利用WKD发布自己的PGP公钥
本文于1137天之前发表,文中内容可能已经过时。
WKD,全称”Web Key Directory“,网络密钥目录,是一种通过HTTPS获取给定邮箱地址公钥的一种方法,方便、安全、快捷。简单地说,当输入邮箱地址”me@httpsmail.com“,支持WDK邮箱或软件就会自动到httpsmail.com网站下指定目录自动获取”me@httpsmail.com“的公钥并导入。
目前支持WDK的邮箱有:
对于个人用户来讲,只需简单地将邮箱的公钥上传到服务器指定的文件目录即可,开始之前请确保:
- 邮箱地址为自己的域名邮箱;
- 服务器为Linux。
创建目录
登录Linux服务器,在域名网站的根目录下创建”.well-known/openpgpkey/hu“,
mkdir -pm 755 .well-known/openpgpkey/hu
注意,”.well-known“前有一个英文句号标点”.”,且全部为小写。
然后在”.well-known/openpgpkey“文件夹下新建”policy“文件。
touch policy
上传公钥
首先,需要在自己的电脑上获取邮箱公钥的Hash值,终端输入:gpg -k --with-wkd-hash me@httpsmail.com
,显示结果如下:
1 | pub rsa3072 2019-11-20 [SC] [expires: 2024-08-23] |
其中,me@httpsmail.com下面的”s8y7oh5xrdpu9psba3i5ntk64ohouhga“即为该公钥的Hash值。
第二步,导出公钥。终端运行:gpg --export me@httpsmail.com > s8y7oh5xrdpu9psba3i5ntk64ohouhga
导出邮箱对应的公钥。
注意事项:公钥必须为二进制格式文件且公钥文件名为该邮箱的Hash值。
最后将公钥上传到服务器”.well-known/openpgpkey/hu“文件夹下。
结果测试
打开测试网址https://metacode.biz/openpgp/web-key-directory,在文件框内输入邮箱地址”me@httpsmail.com“然后点击右侧的”Check“按钮。
1 | Direct: key: https://httpsmail.com/.well-known/openpgpkey/hu/s8y7oh5xrdpu9psba3i5ntk64ohouhga?l=me |
显示”found key“即已成功。
登录Mailfence邮箱,新建邮件并选择使用OpenPGP加密,输入邮箱地址点击发送就会自动查找相应的公钥,选中并点出导入即成功发送PGP加密邮件。
如下图:
其它
- Protonmail添加联系人后未自动导入,我得再研究研究。
- WDK有两种方式:Advanced和Direct,以上方法为Direct方式,Advanced方式是通过DNS域名解析,感兴趣的可以参考一下下方所列的参考资料。
参考资料
- Setting up OpenPGP Web Key Directory (WKD)
- How to setup your own WKD server
- Using WKD to Publish PGP Public Keys
相关文章推荐


感谢打赏,支持支付宝、微信!