S/MIME 证书可让您对电子邮件进行数字签名,使收件人能够确认邮件确实来自您本人且未被篡改,还可以对邮件进行加密,使只有指定收件人才能阅读。它是一种电子邮件证书,而不是保护网站的 SSL/TLS 证书,尽管两者都由证书颁发机构签发,但并不能互相替代。
整个设置过程分为两个部分,许多教程往往把它们混为一谈:一是将证书导入 Windows,二是让 Outlook 使用该证书。第二部分具体怎么操作取决于您使用的是哪个版本的 Outlook,因为目前有三种不同版本的 Outlook,各自的设置界面也各不相同。
开始之前您需要准备什么
- 包含私钥的证书文件。 这是一个 PKCS#12 文件,扩展名为 .p12 或 .pfx。您通常需要在点击激活链接后,从 电子邮件证书 供应商的账户中下载该文件,并在下载过程中设置一个密码。
- 该密码。 没有它,文件将无法导入,而且该密码无法从文件中恢复。
- 颁发给您实际发件地址的证书。 Outlook 会将证书上的电子邮件地址与发送邮件所用的账户进行匹配。颁发给某一地址的证书不能用来签署来自另一地址的邮件,这对于拥有别名或在同一账户配置文件中使用多个账户的用户来说,是一个常见的意外情况。
请妥善保管下载的文件。如果您丢失了该文件以及其中的 私钥,您将永久无法阅读任何使用该证书加密发送给您的邮件。请在继续操作之前,将其备份到安全的地方。
第一步:将证书安装到 Windows 中
每个版本的 Outlook 都从 Windows 证书存储中读取证书,因此无论您使用哪个版本,这一步骤都是相同的。特别是新版 Outlook,不会自动为您完成此操作:微软明确指出,它“不会自动导入数字证书。您必须手动安装证书,或请管理员配置策略以自动安装证书”。
- 双击 .p12 或 .pfx 文件。此时会打开证书导入向导。
- 选择 当前用户 作为存储位置。电子邮件证书属于您个人,而非该计算机,因此这是正确的存储层级。点击 下一步。
- 确认文件路径,然后点击 下一步。
- 输入您在下载文件时设置的密码。如果您以后需要将此证书迁移到其他计算机或手机(对于电子邮件证书来说,这种情况非常可能发生),请勾选 将此密钥标记为可导出。点击 下一步。
- 选择 将所有的证书都放入下列存储,并选择 个人。点击 下一步,然后点击 完成。
通过打开证书管理器来验证是否已正确安装:
certmgr.msc
在 个人 下的 证书 中,应该能看到列出的证书上标有您的电子邮件地址,其 预期用途 应包含 安全电子邮件。如果该列显示的是其他内容,则说明您安装的证书并非 S/MIME 证书,Outlook 将不会提供该证书选项。
经典版 Outlook 也可以直接导入该文件,方法是在 电子邮件安全性 中,使用 数字标识(证书) 下方的 导入/导出 按钮。这种方法虽然有效,但只对经典版 Outlook 有帮助。而将证书导入 Windows 一次即可覆盖所有三个版本,以及该计算机上任何需要使用该证书的其他应用程序。
第二步:让 Outlook 使用该证书
请在下方找到您使用的版本。如果不确定自己使用的是哪个版本,请查看左上角是否有 文件 菜单:经典版 Outlook 有此菜单,新版 Outlook 没有。
Windows 版新 Outlook
- 打开 设置,然后依次点击 邮件、S/MIME。
- 开启 自动选择用于数字签名的最佳证书,这样系统就会自动获取您在第一步中导入的证书。
- 确定默认设置。为我发送的所有邮件添加数字签名 可以放心保持开启,这也是收件人获得您证书的方式。而 加密我发送的所有邮件的内容和附件 则不建议默认开启,因为发送给您尚未持有其证书的任何人的邮件都会发送失败。
同一界面还提供数字标识的导入和导出功能,如果您更愿意在此处操作而非通过 Windows 操作,也可以在此完成。
经典版 Outlook
- 选择 文件,然后选择 选项。
- 选择 信任中心,然后点击 信任中心设置 按钮。
- 在左侧窗格中选择 电子邮件安全性。
- 在 加密电子邮件 下,点击 设置。
- 在 安全设置名称 中为该配置文件命名。
- 在 证书和算法 下,点击 签名证书 旁边的 选择,并选择您的证书。然后对 加密证书 执行相同操作。大多数情况下,两者使用的是同一个证书。
- 除非有特定策略要求,否则请将哈希算法和加密算法保持默认设置。现代版本的 Outlook 默认已使用 SHA-256 和 AES,一些较旧的教程建议将 SHA-1 改为 SHA-256,那是针对您当前并未使用的旧版本而言的。
- 点击 确定 以关闭每个对话框。
回到 电子邮件安全性 页面后,您可以通过 为外发邮件添加数字签名 和 加密外发邮件的内容和附件 设置默认选项。同样需要注意:默认签名没有问题,但默认加密会导致无法向您尚未持有其证书的任何人发送邮件。
网页版 Outlook
浏览器版本需要一个辅助组件,因为网页本身无法直接访问您的证书存储。
- 依次进入 设置、邮件、S/MIME。
- 点击安装 S/MIME 控件的链接,并在提示时选择 运行 或 打开。
- 随后您可能需要在浏览器的 S/MIME 扩展设置中允许您的工作域名,签名和加密选项才会出现。
这一方式取决于贵组织的 Exchange 配置,因此如果 S/MIME 选项完全没有出现,这是管理员设置的问题,而不是您在客户端可以自行修复的问题。
发送已签名或加密的邮件
撰写一封邮件,打开 选项 选项卡,为该邮件开启 签名 或 加密。首次发送时,Windows 会要求获得 Outlook 使用您私钥的权限,请予以批准。
要确认设置是否生效,请给自己发送一封已签名的邮件。收到的副本上会带有一个签名标志,点击即可查看证书信息、签署人地址以及验证结果。该标志也是日后诊断问题最快捷的方法,因为它会明确指出哪个环节出现了问题,而不仅仅是拒绝发送。
为什么暂时无法加密发送给某人的邮件
这是让大多数人感到困惑的部分,但这并不是配置错误。加密使用的是 收件人 的公钥证书,而不是您自己的证书。您的证书使您能够签名,也使其他人能够对发送给您的邮件进行加密。在您拥有对方证书副本之前,Outlook 无法对发送给他们的任何内容进行加密,并会拒绝发送。
获取对方证书的通常方法是请他们发送一封已签名的邮件给您。数字签名会随附发件人的证书,因此一旦您收到并保存该证书,加密发送给此人的邮件功能便会开始生效。具体操作如下:
- 向对方发送一封已签名的邮件,让他们获取您的证书。
- 请他们回复一封已签名的邮件,让您获取他们的证书。
- 在经典版 Outlook 中,从该已签名的邮件中将发件人添加到联系人,这样对方的证书就会与该联系人一起保存。
- 在使用 Exchange 的组织内部,证书通常会发布在目录中,因此向同事发送加密邮件无需事先交换已签名的邮件即可生效。
由于加密需要双方都持有证书,S/MIME 在组织内部或与固定通信对象之间使用效果良好,但对于给陌生人发送的一次性邮件则效果不佳。这是该技术本身的特性,而非某个设置可以解决的问题。其底层原理是标准的 公钥加密技术:使用对方的公钥进行加密,只有对方持有的私钥才能解密。
切勿删除已过期的 S/MIME 证书
S/MIME 证书会过期,当您的证书过期后,您只需获取一个新证书并继续使用即可。此时人们往往会想要清理掉旧证书。请不要这样做。
任何人使用旧证书加密后发送给您的邮件,都只能用该旧私钥进行解密。如果删除了旧证书,这些邮件将永久无法读取,包括目前存放在您邮箱中的邮件。过期的证书会使您无法签署新邮件,这正是过期的意义所在,但它仍会无限期地用于解密旧邮件。请保留每一个已停用的电子邮件证书,如果您迁移到新计算机,请将它们连同当前使用的证书一起导出并导入。我们关于 从 Windows 中移除证书 的指南中介绍了导出步骤,这是在进行任何清理之前应先执行的操作。
故障排除
- 签名或加密按钮没有反应,或 Outlook 提示没有可用证书。 Outlook 找不到与您发件账户匹配的电子邮件地址的证书。请在
certmgr.msc中检查证书上的地址是否与 Outlook 中的账户一致。 - 选择对话框中未提供该证书。 请检查
certmgr.msc中的 预期用途,其中必须包含 安全电子邮件。TLS 证书或代码签名证书不会显示在此处,也没有任何设置可以让它显示出来。 - 您已导入文件,但没有任何显示。 您可能将证书导入到了 本地计算机 层级,而不是 当前用户。Outlook 读取的是您的用户存储。请重新导入,并选择当前用户。
- 对某一收件人的加密失败。 说明您尚未持有该收件人的证书。请向对方索取一封已签名的邮件。
- 收件人在您已签名的邮件上看到警告。 可能是证书链在对方的计算机上不受信任、证书已过期,或证书上的地址与您实际发送邮件所用的地址不一致。邮件上的签名标志会具体说明是哪种情况。
- 在电脑上有效,但在手机上无效。 证书必须在每台设备上单独安装。Outlook 各安装版本之间不会同步私钥。
常见问题解答
是的。微软的说明记录在 设置,然后依次点击 邮件、S/MIME,其中提供了默认签名和加密选项,以及自动选择签名证书的功能。与经典版 Outlook 唯一值得注意的区别是,新版 Outlook“不会自动导入数字证书”,因此您需要先自行将证书安装到 Windows 中。
不是。SSL/TLS 证书用于标识网站身份并保护与该网站的连接。S/MIME 证书用于标识个人或电子邮件地址,并保护邮件本身。两者的颁发规则不同,也不能互相替代,因此为网络服务器购买的证书无法用于签署您的电子邮件。
签名使用的是您自己的私钥,因此只要安装好证书就能立即使用。而加密使用的是收件人的公钥证书,而您目前尚未持有该证书。请让对方给您发送一封已签名的邮件,其证书会随邮件一起发送过来。
可以,但您必须在每台设备上通过 PKCS#12 文件分别进行安装。系统不会自动为您同步私钥。这也是为什么在首次导入时勾选 将此密钥标记为可导出 十分重要:如果不勾选,您将无法再次从该计算机生成该文件。
您将无法再使用该证书签署新邮件,通信对象也无法再使用该证书加密发送给您的新邮件。请按照相同方式安装新证书。请保留已过期的证书,因为它是唯一仍能解密之前使用该证书加密的旧邮件的工具。
不需要,但他们需要一款支持 S/MIME 的电子邮件客户端,以及与您加密所用证书相匹配的私钥。S/MIME 是一种标准协议,因此 Thunderbird、Apple Mail 以及大多数商业客户端都支持它。我们的配套指南介绍了 如何在 Thunderbird 中安装 S/MIME 证书。
无法通过证书颁发机构恢复。私钥是在您本地生成的,任何证书颁发机构都不持有该私钥的副本。如果该证书仍安装在某台设备上,且其密钥当初被标记为可导出,那么您可以从该设备重新导出,从而恢复该文件。如果当初未标记为可导出,您可以申请一个新证书用于签名,但使用旧证书加密的邮件将始终无法读取。

