使用pgp – Windows 篇

gpg 是 pgp 的一个开源实现,全名为 GnuPG,在 Windows 系统上我们用 gpg4win (gpg for windows) 创建和管理pgp密钥。

创建&发布

点击这里下载gpg4win
安装之后打开,点这个

然后照着指示走:




这里提醒一下,这个对话框是要你设置密钥的密码,如果这个密码忘记了,你的gpg密钥将无法再使用,请及时注销你的公钥。

然后点击OK:

这样就创建成功了,你可以选择使用电子邮件发送公钥或者将公钥上传到目录服务(也就是公钥服务器)

导入公钥

假设你的朋友给你发来了一个公钥指纹(公钥指纹的后8位即为公钥的ID,所以它们本质上可以相互指代),你要如何将他的公钥导入到你的公钥库里呢?

就用我的公钥指纹来举例吧,我的公钥指纹是:BE92EAA06ECD3FB99C9D30600CBA1D213DF534C3

双击即可导入公钥:

加/解密

把要加密的文本复制下来,然后点击这里

我以“Hello World!”这个文本举例吧!假设我要发给自己,可以用自己的公钥来加密。

点“下一个”然后点确定,它会自动把你的剪贴板中的内容更新为密文

-----BEGIN PGP MESSAGE-----

hQEMA5Y6Lu4VOegdAQgAxC5wJQMYe5mv7fBZe9aiRQa2usPt2FfaTgpQJbAd8FdQ
zmmdBtBgwwZiNdujBKfIiBEdp4vW3HXuObQ0qiHTRuHGeS0QVcTnao6oYLCoYZIM
ywgdyqoSFT9V/Lb9pnVeCNhHDqgM/QQTqzQl5CcnhdPowMukJgPBMaa5IvUaTBJm
64sjIhVVoBQZ7naNOhUhiTcV0O/9L9GoYasxcuaZNELI9zrsWu3a2xA0jyhthPyD
pDN89ZeL9+D+WEAEhYMOZ9SfyWYT5Idd4qqK9VIVMm8yosANWpKHHkWk+DzCNq8n
01aSnI3R8TB7iDdvvOL6a3+gLS7098ZUMlwnjXlQIdJHAaVBxP5t+ps9QwpMoOEy
3D3195lcp3VQUjN36tIs0nK397nf34XMxNAWxYLUunlO6aMQjw/+qbb1d+DVS0Uw
BBYTIoLSekk=
=TDzE
-----END PGP MESSAGE-----

然后我们用自己的密钥尝试解密

输入密码即可

解密后的明文同样存储与剪贴板中
Hello World!

或者加密文件
操作都差不多,就不展开讲了。

吊销公钥

当你发生密钥泄露(灾难性,后果很严重,所有你曾经发送的密文都可以被解密,尽可能避免)、忘记密钥的密码、更换邮箱等,建议尽快吊销旧的公钥,吊销意味着该公钥停止使用,服务器可以将这把公钥从目录中删除,至于到底删不删就是服务器的事了。

我找了一圈似乎并没有找到Kleopatra中有将证书标记为吊销状态的功能,所以考虑换用命令行执行。

按下win+R组合键,输入cmd然后回车

输入gpg --list-keys可以看到密钥库里存储的密钥

C:\Users\Washing>gpg --list-keys
C:/Users/Washing/AppData/Roaming/gnupg/pubring.kbx
--------------------------------------------------
pub   rsa2048 2018-01-21 [SC] [expires: 2019-01-21]
      BE92EAA06ECD3FB99C9D30600CBA1D213DF534C3
uid           [ultimate] EricKwok <erickwok404@gmail.com>
sub   rsa2048 2018-01-21 [E] [expires: 2019-01-21]

pub   rsa2048 2018-01-29 [SC]
      0A8D94657BABD7CAC5DD4D6C1C2F8E428B730727
uid           [ultimate] eric kwok <xiaoshu1998@gmail.com>
sub   rsa2048 2018-01-29 [E]

使用gpg -o rev_key.rev --generate-revocation 你的密钥ID生成吊销证书,如图所示操作即可,然后会弹出一个框让你输入密码

输入dir,可以看到,rev_key.rev已经安安静静地躺在我们的硬盘里了。

接下来要做的事就是把这个吊销证书导入,对我们的证书进行吊销gpg --import rev_key.rev

然后可以gpg --list-keys查看证书状态

看到“revoke”字样即为已吊销
然后将这个吊销了的密钥上传到服务器gpg --send-keys

最后生成一把新的密钥就好了。

发表评论