B.5. 导出公钥

在你使用公钥加密术之前,其他人必须有一份你的公钥。要把你的公钥提供给通信对方或钥匙服务器,你必须导出(export)这把钥匙。

你需要导出公钥才能在网页上显示它或在电子邮件中粘贴它,键入以下命令:

gpg --armor --export <you@example.com> > mykey.asc

你不会看到任何输出,因为你在导出公钥的同时还把输出转写入另一个文件,譬如一个叫做 mykey.asc 的文件。(若命令中不加 > mykey.asc,钥匙就会被显示在标准输出即屏幕上。)

现在,mykey.asc 文件就可以被插入电子邮件或导出到钥匙服务器中。要查看这把钥匙,键入 less mykey.asc 来在分页器中打开该文件(键入 [q] 来退出换页器)。它应该与下面的输出相似:

-----BEGIN PGP PUBLIC KEY BLOCK-----
Version: GnuPG v1.0.1 (GNU/Linux)
Comment: For info see http://www.gnupg.org
	
mQGiBDkHP3URBACkWGsYh43pkXU9wj/X1G67K8/DSrl85r7dNtHNfLL/ewil10k2
q8saWJn26QZPsDVqdUJMOdHfJ6kQTAt9NzQbgcVrxLYNfgeBsvkHF/POtnYcZRgL
tZ6syBBWs8JB4xt5V09iJSGAMPUQE8Jpdn2aRXPApdoDw179LM8Rq6r+gwCg5ZZa
pGNlkgFu24WM5wC1zg4QTbMD/3MJCSxfL99Ek5HXcB3yhj+o0LmIrGAVBgoWdrRd
BIGjQQFhV1NSwC8YhN/4nGHWpaTxgEtnb4CI1wI/G3DK9olYMyRJinkGJ6XYfP3b
cCQmqATDF5ugIAmdditnw7deXqn/eavaMxRXJM/RQSgJJyVpbAO2OqKe6L6Inb5H
kjcZA/9obTm499dDMRQ/CNR92fA5pr0zriy/ziLUow+cqI59nt+bEb9nY1mfmUN6
SW0jCH+pIQH5lerV+EookyOyq3ocUdjeRYF/d2jl9xmeSyL2H3tDvnuE6vgqFU/N
sdvby4B2Iku7S/h06W6GPQAe+pzdyX9vS+Pnf8osu7W3j60WprQkUGF1bCBHYWxs
YWdoZXIgPHBhdWxnYWxsQHJlZGhhdC5jb20+iFYEExECABYFAjkHP3UECwoEAwMV
AwIDFgIBAheAAAoJEJECmvGCPSWpMjQAoNF2zvRgdR/8or9pBhu95zeSnkb7AKCm
/uXVS0a5KoN7J61/1vEwx11poLkBDQQ5Bz+MEAQA8ztcWRJjW8cHCgLaE402jyqQ
37gDT/n4VS66nU+YItzDFScVmgMuFRzhibLblfO9TpZzxEbSF3T6p9hLLnHCQ1bD
HRsKfh0eJYMMqB3+HyUpNeqCMEEd9AnWD9P4rQtO7Pes38sV0lX0OSvsTyMG9wEB
vSNZk+Rl+phA55r1s8cAAwUEAJjqazvk0bgFrw1OPG9m7fEeDlvPSV6HSA0fvz4w
c7ckfpuxg/URQNf3TJA00Acprk8Gg8J2CtebAyR/sP5IsrK5l1luGdk+l0M85FpT
/cen2OdJtToAF/6fGnIkeCeP1O5aWTbDgdAUHBRykpdWU3GJ7NS6923fVg5khQWg
uwrAiEYEGBECAAYFAjkHP4wACgkQkQKa8YI9JamliwCfXox/HjlorMKnQRJkeBcZ
iLyPH1QAoI33Ft/0HBqLtqdtP4vWYQRbibjW
=BMEc
-----END PGP PUBLIC KEY BLOCK-----

B.5.1. 导出到钥匙服务器

如果与你通信的人寥寥无几,你可以导出公钥后逐一地发送给他们。可是,如果你的朋友遍布四海,逐一发送公钥就非常费时费力了,你可以使用钥匙服务器来解决这个问题。

钥匙服务器是一个在互联网上为任何人贮存和传递公钥的仓库。可用的钥匙服务器有很多,多数都试图保持彼此同步;向一个钥匙服务器发送公钥就如同向所有钥匙服务器发送公钥一样。通信人可以从钥匙服务器中请求你的公钥,把它导入到他们的钥匙圈上,然后他们就可以和你进行安全通信了。

窍门窍门
 

因为多数钥匙服务器是同步的,向一个钥匙服务器发送你的公钥和向所有钥匙服务器发送公钥的效果一样。不过,你可以找一找不同的钥匙服务器。要搜寻它的最佳起点是 Keyserver.Net,它位于 http://www.keyserver.net

你可以从 shell 提示或浏览器中发送你的公钥;显然,你必须在线才能发送或从钥匙服务器接收钥匙。

图 B-1. 复制公钥

注意,如果你向另一个基于网站的钥匙服务器提交公钥,方法和以上步骤基本上相同。

至此你便大功告成。不管你使用的是 shell 提示还是万维网,你都会看到一条消息通知你钥匙已被成功提交 — 或在 shell 提示下,或在钥匙服务器的网站上。从现在起,想和你安全通信的用户就可以导入你的公钥并把它添加到他们的钥匙圈上了。