S/MIME 通过签名及使用加密(解密)为电子邮件通信提供更高的安全级别。具体原理细节在此不述。但需明白,一个 S/MIME 数字证书包含一对密钥,即公钥和私钥,其中公钥用来加密邮件,可以把它公示给任何人,用于别人给你发邮件时加密邮件。私钥一定不要告诉其他人,用公钥加密的电子邮件只能用私钥来解密,如果发送者在加密时不加入自己的公钥,那么连他自己也无法解密邮件。S/MIME 数字证书和具体的电子邮件地址是绑定的,它可以用来对电子邮件进行数字签名和加密。
S/MIME 数字证书是由专门的数字证书颁发机构来发布的。我们自己并不能生成公认的S/MIME数字证书。通常我们需要购买一个,但一般为一年有效期,必须年年购买才能正常使用。现在comodo提供免费一年的S/MIME 数字证书,我们可以在这里申请,需要注意的是,一定要使用Internet Explorer或基于IE核心的浏览器来申请。打开链接时,如一切正常,浏览器会有以下提示:
此时点击“是”。按以下说明完善申请者信息:
按上图所示点击next后,稍侯会出现success信息后,即可在你填的电子邮箱去收邮件了。收到邮件后,通过邮件链接确认操作后,就完成了s/mime 数字证书的申请操作。
通过以上操作,我们并没有看见或下载到证书,那我们的证书在哪儿呢?其实数字证书已经由Windows自动下载存放到证书目录了。为了安全,我们需要把它导出来,并做好备份
依次打开Internet Explorer –> 工具–> Internet选项 –> 内容 –> 证书,一般我们会在”个人”这里边看见我们刚刚申请的数字证书
选择我们要导出的证书,然后导出,在导出的过程中我们要选中导出私钥,然后设置密码来保护私钥不受非法使用。
通过导出数字证书的功能,我们就把刚刚申请的S/MIME数字证书保存成后缀名为pfx的个人交换文件了。由于这个文件是包含私钥的,虽然有密码保护,但一定要将其保存在安全的位置,以防数字证书丢失,邮件无法打开。接着我们可以再通过导出功能来仅导出数字证书的公钥。
通过上面的操作,S/MIME数字证书的所有相关工作都已经完成了。我们可以用它来签名及加密我们的电子邮件了。正如前所述,要让他人使用自己邮件的公钥来加密邮件,然后发给自己的邮箱,自己用私钥来解密。换句话说,一般我们是用他人的公钥来加密电子邮件后发送来确保和他人的安全通讯的。这里我们就用自己才申请到的S/MIME数字证书来测试一下如何使用Outlook来加密邮件。
启动Outlook后(此处为Outlook 2019版),依次打开 文件–> 选项 –> 信任中心 –> 信用中心设置 –> 电子邮件安全性,这里我们可以通过默认设置来选择所申请的S/MIME数字证书。
也可以使用导入导出来管理要使用的数字证书。一定要确保勾选上“加密待发邮件的内容和附件”及“给待发邮件添加数字垂签名”和“以明文签名发送邮件”选项。这样,我们已经完成了自己邮箱账号的默认数字证书设置。下来我们就需要在Outlook的通讯薄里添加上自己或他人的邮件地址,在添加时,一定要通过“证书”快捷菜单来导入电子邮件账号对应的公钥。如添加自己时,就导入刚才导出的自己账号的公钥。
好了,我们现在就可以通过Outlook给刚刚增加到通讯薄的联系人发送加密电子邮件了,发送时,Outlook会自动用公钥加密邮件后并将自己的邮箱账号的公钥作为附件一并发给收件方。收件方可以用我们的公钥来进行相同的操作来加密发送给我们的邮件。此外,为了安全期间,我们应该通过证书管理来删除原来系统自动存储的S/MIME数字证书,然后导入我们导出的后缀为pfx的个人交换文件,这样,在使用私钥解密邮件时,会提示输入数字证书的保护密码。一定要牢记私钥的保护密码,如果丢失,将永远无法解密相应公钥加密的电子邮件。