|
摘要:
在此我想向大家讲述一下如何在Sylpheed-Claws中使用一些基本的bash 管道命令增加一个gpg插件来检查电子邮件的数字签名。
为什么要检查数字签名?
我曾经收到一个朋友的邮件,在邮件中他问道:“你怎么发给我一个带病毒程序的邮件?” 呵呵,肯定是有人非法获取了我的邮件地址并用我的地址给他发的。不过我这位朋友倒是还算幸运,因为那个病毒已经被他检测到了。但是就像我们经常收到的邮件一样,如果邮件的内容只是距他家150公里远的一次会议的日期,或者是一个正在开发中的程序的补丁,那后果又会怎么样呢?我想那肯定是很令人沮丧的。
从那以后我发邮件总是会加上数字签名,并且如果收到的邮件有签名的话我也总是检查,以给邮件增加一层安全性,防止再有人冒充。但有时我会遇上这样的情况:我第一次收到某个人的邮件但却从来没有检查过他的签名。因为我很懒,我不想打开一个xterm窗口,写一些 gpg命令把他的公钥(public key)存到我的电脑里,然后再检查每一封新邮件的签名。所以我就想了这个办法使用Sylpheed-Claws来做这些事。
关于SylpheedSylpheed是一个轻量级的、快速的基于GTK图形界面的电子邮件客户端和新闻阅读器。它采用两种形式发布:标准版Sylpheed和增加了一些其他边缘程序的试验版Sylpheed-Claws, Sylpheed-Claws使用一个叫PGP/MIME的插件支持GPG。 如果要在您的机器上使用您需要有编译好的sylpheed-claws,sylpheed-claws-plugins,sylpheed-claws-pgpmime和gpg。 Debian Sarge用户使用APT会简单一些,您只需下载上述软件包(其他Linux版本的用户可能需要上网搜索一下对应的软件包),或者只是简单的输入以下命令(Debian会将其他相关的软件包装上:译者注):
apt-get install sylpheed-claws sylpheed-claws-plugins sylpheed-claws-pgpmime gpg 要让该插件工作您还需要到[设置Configuration] -> [插件Plugins...]增加pgpmime.so插件(如下图), 当然如果愿意您也可以增加其他的插件,以便更好地使用Sylpheed-Claws。
![[Illustration]](/mirror/main.linuxfocus.org/common/images2/article364/detailplugins.png) PGP/MIME将会在左侧显示出来。现在您就可以关闭该窗口,在[设置Configuration]菜单中进入 [偏好Preferences]设置:
![[Illustration]](/mirror/main.linuxfocus.org/common/images2/article364/config-gpg.png)
接下来您可以在便好设定中看到左侧的[隐私Confidentiality] -> [GPG]。点击它可以看到四个复选框。您至少需要选择第一个(自动检查数字签名)。检测您的信息。您对签名时的其他选项可能也会感兴趣:第二个会在会话过程中将您的passphrase保持在内存中,第三个选项会在需要时接受键盘输入,最后一个会在GPG无法运作时给出警告。 如果您收到一封带有数字签名的邮件,在邮件正文的右边就会出现一个图标:
![[Illustration]](/mirror/main.linuxfocus.org/common/images2/article364/detailcrtl.png) 带有一个钢笔的图标显示GPG控制正常但是邮件的作者不在您的数据库中或者数字签名有错。
如何检查数字签名?
在Sylpheed-Claws中,您可以用[工具Tools] -> [执行动作Actions]来对想要检查的邮件进行检查。但首先您必须在[设置Configuration] -> [动作Actions...]中对其进行配置。先打开如下窗口:
![[Illustration]](/mirror/main.linuxfocus.org/common/images2/article364/config-action.png)
菜单名您可以随便选一个,在命令栏中输入您想要执行的命令(非常复杂)并点一下新增。下面是通过管道进行GPG检查的命令:
ID=`cat %f | grep "From" | grep "<" | grep ">" | cut -f2 -d\< | cut -f1 -d\> `;
xterm -e gpg --keyserver wwwkeys.ch.pgp.net --search-key $ID 将命令写在一行上。通常的GPG命令是: gpg --keyserver servername --search-key email-address 在Sylpheed-Claws中,我们使用“xterm -e”打开一个xterm会话,因为我们总是需要选择一个名字选项来获得邮件地址-$ID:
使用“cat %f”来读取邮件信息
搜索带有“FROM”并且有“<”和“>”的行
保存“<”和“>”之外的所有东西同时我们也获得了邮件地址。当我们使用“动作”检查邮件地址时,它会连到 wwwkeys.ch.pgp.net密钥服务器。但您也可以换成别的服务器或者像我一样配置两个不同的动作连到不同的密钥服务器。 在xterm中您会看到如下信息:
![[Illustration]](/mirror/main.linuxfocus.org/common/images2/article364/xterm.png) 选择正确的地址以后xterm窗口将会关闭。您只需再一次查看一下正文右侧那个图标,在它下面将会出现一个按钮以便您重新检查。这就完成了,您将会看到图标变成下面的样子:
![[Illustration]](/mirror/main.linuxfocus.org/common/images2/article364/detailcrtl2.png) 如果不是,签名是错误的您还是把它放到垃圾筒里去吧。
如果您看到下面的图标那表示邮件的发送者是存在您的GPG数据库里的一个可以信赖的朋友。因为您以前已经检查过他(她)的签名并信任他(她)了。
![[Illustration]](/mirror/main.linuxfocus.org/common/images2/article364/detailcrtl3.png) 这样您只需仅对新邮件做一次身份验证,随后收到同一个人的邮件都会自动检查,您的安全性增强了。
总结将bash管道应用到其他的图形界面的邮件客户端软件上可能容易也可能不容易。我们的方法可以很容易的自动检查您的邮件。另一个好处是:这些被控制的邮件不用经过垃圾邮件检测程序。因为您已经检查过一次邮件地址了。并且就我所知,垃圾邮件不使用GPG数字签名。无疑我们可以使用另一种方法 - 直接在procmail 的输入端加上一个控制检测所有带有数字签名的邮件。但那就是另一回事了。您可以在 Iznogood-Factory. 上找到您感兴趣的资料。
更多的关于GPG和电子邮件数字签名的信息可以在如下地址找到:
http://www.gnupg.org/
关于Sylpheed-Claws, 点此查看。
(http://www.fanqiang.com)
原文链接:http://main.linuxfocus.org/ChineseGB/January2005/article364.shtml
|