对通知邮件进行加密

此目录下的文档都是用户自己编写的指南,并未经过eMule(电骡)开发人员的验证。不过对于大多数用户而言,这些文章仍然颇有裨益。你可以在论坛的此专用主题贴找到相关的提问与评论


我花了“一点”时间研究如何对通知邮件进行加密,最后终于在前几天试验成功了。在这里分享一下心得……

本“指南”将介绍如何创建自签名证书,并用证书对通知邮件进行加密;同时还会介绍如何使用Thunderbird读取这些加密后的邮件。本文的内容在Windows XP Professional下试验通过。

首先假定你已经正确完成了邮件通知的相关设置,并且已经能够正常收发未加密的通知邮件。

首先我们需要找一个能创建自签名证书的程序。我用的是sylikc.NET的自签名证书(URL见下),之所以选用这个程序是因为它有用户界面。不过此程序也支持命令解释,完全能够通过OpenSSL实现相同的功能。

http://secure.sylikc.net:8080/self_signed/index.old.php#sscc

安装/解压完程序后,会自动检查系统是否已安装.NET库,如果没有安装会有系统提示。运行该软件,可能会弹出一个“警告”窗口,告诉你正在独立运行此程序云云。不用理会,点击OK。

随后会出现两个窗口,在右边的窗体上有工作模式的选项:“simple mode(简单模式)”或“advanced mode(高级模式)”。应选择“advanced mode(高级模式)”。

现在在左边的窗口中开始填写必需的信息。首先是CA password(认证密码),填什么样的密码完全取决于你自己,但是填什么密码都必须记住,今后都需要用到。为了简单起见,我在所有密码域都填写同样的密码。这样做当然不够安全,但对于试验来说足矣。smile.gif

下面是country name(国名),随便输入点什么都成,我觉得这个跟咱们毫无关系。state or province name(州名/省名)也没什么用处,随便输入点东西就行。

organization name(组织名称)稍稍有点用,至少Thunderbird是按照此条目对所有证书排序的,因此建议输入个以A开头或干脆以数字开头的词组,这样今后在证书列表中排名靠前,无需吃苦费力地慢慢寻找。比如说“Absolutely Nothing”之类的,别忘了就成。

Common name(通用名)必须是与证书名称不同的词组,因此可以用些简单的缩写,例如“Emule CA”。我就是用的这个。等到你调试通过后,完全可以从头再创建个名头更响亮的证书。

现在你应该已经填完了“Certificate Authority(CA)”部分的所有必填项,下面需要填写“Your Self-Signed Certificate(你的自签名证书)”部分。点击“Use same input as above(使用与上面相同的输入内容)”按钮,这样只需要在下面输入不同的信息即可。此按钮默认应当处于“off”位置或保持未被按下的状态。

填写Cert Password(证书密码)时跟之前一样,随便输入点什么好记的密码就行。测试时,可以填写与认证密码相同的密码。除密码之外,还应该将common name填写为“Emule SSC”。这部分其它的输入框都留空就行。

Export Settings(导出设置)中输入密码,这里我们可以用跟之前都相同的密码。将PKCS file name设为“emulecert.p12”,并且保存到解压/安装本程序的目录下。Number of years before certificate expires(证书有效期限(年))可以随便输入,我输入的是最大值10年。Certificate name(证书名称)可以填写诸如“Emule Cert”或“Emule Encryption Cert”之类的字符串。

请注意,你可以将迄今为止所作的设置保存到一个文件中,这样以后你可以快速重新制作证书。不过请记住,保存配置时不会保存任何密码。现在按下“GO”按钮,应该就会创建“emulecert.p12”以及“ca_cert.crt”两个文件。这两个文件应当妥善保存,例如拷到别的目录下保存备份。

现在你已经创建了自签名证书,下面要做的事情就是把证书安装到运行eMule的机器上并测试。首先,把.p12文件拷贝到运行eMule的机器上。接下来是安装证书:右键点击(双击应该也可以)证书文件,选择“Install PFX”。

如果出于某些原因没有“Install PFX”选项,就得手动安装证书。依次点击Windows的开始菜单 -> 运行 -> 输入“certmgr.msc”并回车,应该会打开“证书”窗口。在左边的控制台树中选择一个证书分类(例如“个人”),右键点击此分类(或点击菜单栏的“操作”),然后依次选择“所有任务” -> “导入”,点击“下一步”,从浏览窗口中找到并选中“emulecert.p12”文件。现在需要输入私钥密码,请确保勾选了“标志此密钥为可导出的”选项。

在“证书存储”窗口中,选择“将所有的证书放入下列存储区”项,然后找到并选中“其它用户”。不知道是什么原因,我开始并没有看到此选项,不知道是怎么搞的。现在按“下一步”然后点击“完成”。证书现在装在“地址簿”、也就是“其它用户”存储区中。

要验证证书是否已经安装正确,应关闭“证书”窗口后重新打开(开始菜单 -> 运行 -> 输入certmgr.msc并回车)。找到“其它用户”存储区并选择证书。现在应当能看到“Emule CA”和“Emule SSC”这两个证书了。

现在你所要做的就是编辑eMule的\config\子目录下的preferences.ini文件,在[Emule]标签以下的部分添加/编辑如下行:
NotifierMailEncryptCertName=Emule SSC
更改的内容需要重启eMule后才会生效。现在我们测试一下。启动eMule,进入服务器窗口,选择Verbose标签页(在日志标签旁边)。假如服务器窗口未显示“Verbose”标签,进入“选项” -> “扩展设置” -> “Verbose”将其打开。Verbose标签页能显示后,进入“选项” -> “通知”,点击“测试”按钮,应当会在Verbose标签页下显示一些信息。假如显示的信息不是红色的,那么应当就没有问题。只要没有显示警告之类的信息,应当说明邮件加密已经设置成功。

启动Thunderbird,依次点击“Options” -> “Privacy” -> “Security” -> “View Certificates”。首先我们应当导入证书,否则证书将无法正常工作。选择“Authorities”,点击“Import”按钮,还记得我们之前与.p12文件一同拷贝的ca_cert.crt文件吗?找到并选中它。现在应该会弹出“Downloading Certificate”窗口,勾选"Trust this CA to identify email users"并点击OK。现在此证书应当已经添加到列表中,可以按你给此证书填写的组织名称查看查看。

随后选择“Your Certificates”,点击“Import”并选中之前我们创建的emulecert.p12文件。此时可能会提示输入一个密码(我印象中只有首次导入证书时才提示输入这个密码,不过我不太确定。这个密码是可以改的,更改方法是Options -> Privacy -> Security -> Security Devices,选中“Software Security Device”)。假如密码输入正确,那么现在解密系统就能正常工作了。之后会提示输入证书密码,正确输入后就万事OK了。现在应当能够查看加密的邮件了。

对于Outlook用户来说,也许这些信息更有帮助……
http://secure.sylikc.net:8080/self_signed/outlook.php?SSCC

参考文档:
http://kb.mozillazine.org/Installing_an_SMIME_certificate
http://redirect.sylikc.net:8080/

Sylikc网页目前好像挂了……


对通知邮件进行加密》,由Ejack翻译自eMule官方网站英文版帮助与支持《Setting Up Notification Encryption》。已编入官网简体中文版《对通知邮件进行加密》。

2条评论隐藏

  1. 2010年12月10日 周五 15:27 | 回复

    NotifierMailEncryptCertName=Emule SSC这个参数为何在Preferences.ini文件里没有介绍,我想知道是否还有其他隐藏参数。
    不知道emulewiki上的全不全,是否有过时的,Advanced official preferences

  2. 2011年10月4日 周二 01:36 | 回复

    作者不写其中原理真是可惜 大概明白意思吧,双方都必须要使用做的这个证书,在线邮件肯定不认了,只有用客户端

发表评论

您的Email将不会显示出来。头像请至Gravatar.com注册上传。*号标注项为必填。

如果您想输入中文却暂时没有中文输入法程序,可以使用在线的

*
*
*
标签用法
表情:
:mrgreen: :| :twisted: :arrow: 8O :) :? 8) :evil: :D :idea: :oops: :P :roll: ;) :cry: :o :lol: :x :( :!: :?:
字数:0