我刚刚开始在 Thunderbird 17 中使用 GPG(通过 enigmail)。现在我想用其他使用邮件加密的人的所有密钥填充我的私钥数据库。除了直接向人们索要私钥之外,还有一种方法是检查密钥服务器以获取他们的地址,对于一些其他联系人来说,这是一项相当耗时的任务。
有什么方法可以自动轮询密钥服务器以获取 Thunderbird 中集成的地址簿的所有(或子集)地址?
答案1
现在内置于 Enigmail:
- 进入 Enigmail 密钥管理窗口
- 点击密钥服务器 → 查找所有联系人的密钥
- 浏览一些不言自明的对话框
- 选择要导入的密钥
- 单击“确定”
如果您在步骤 4 中没有选择任何键,那么遗憾的是,搜索键所花费的时间就浪费了,因为您没有收到即将执行无操作的警告。
答案2
我有一个可以在 OS X、Linux、BSD 和其他 *nix 系统上运行的解决方案,但如果您使用的是 Windows,您可能会不走运(或需要付出更多努力)。
进入 Thunderbird 并打开通讯录。可能至少有两个子部分:个人地址和收集的地址。可能还有更多。突出显示每个子部分,转到工具并选择导出,为文件命名,然后对通讯录的每个子部分重复此过程。导出将创建 .ldif 文件,其中包含每个联系人的所有详细信息(纯文本)。
对于此示例,我假设我将两个文件保存为 /tmp/personal.ldif 和 /tmp/collected.ldif,用于主要地址簿子部分。然后是时候在 bash 提示符下进行一些工作了:
cd /tmp/
grep "^mail: " personal.ldif > pmail.txt
grep "^mail: " collected.ldif > cmail.txt
然后在您选择的文本编辑器中打开 /tmp/pmail.txt 和 /tmp/cmail.txt,并在“mail: ”上进行查找/替换,将其替换为空(即“”)。然后返回我们的小 shell 提示符以完成:
for x in `cat pmail.txt` ; do
gpg --recv-keys $x
gpg --keyserver pgp.mit.edu --recv-keys $x
done ;
for x in `cat cmail.txt` ; do
gpg --recv-keys $x
gpg --keyserver pgp.mit.edu --recv-keys $x
done ;
根据您联系人列表中的电子邮件地址数量,这可能需要一段时间。大多数响应都会失败,但您可以让它在后台运行。