bg-tutorials

如何在Thunderbird上安装S/MIME证书

Thunderbird 自诞生以来就一直支持 S/MIME,但它处理证书的方式与 Outlook 有一个关键区别,这个区别决定了后续的一切:它拥有自己独立的证书存储区。你在 Windows、macOS 或 Linux 密钥环中安装的任何东西都不会出现在 Thunderbird 中,同样,你导入 Thunderbird 的任何东西也不会出现在其他地方。

这也是为什么在每个操作系统上操作步骤都完全相同的原因。以下步骤已在 Thunderbird 当前的正式版(版本 153)以及当前的扩展支持版本(版本 140)上进行了验证。

Thunderbird 拥有自己独立的证书存储区

这是首先需要理解的一点,因为它解释了围绕 Thunderbird 与证书的大部分困惑。

Outlook 会从 Windows 证书存储区中读取证书,所以在 Windows 上,你只需安装一次证书,使用该存储区的每个应用程序就都能看到它。Thunderbird 并不参与这一机制。它在自己的配置文件(profile)内维护一套独立的存储区,因此电子邮件证书必须专门导入到 Thunderbird 中,即使该证书已经安装在 Windows 中并在另一个程序中正常使用。

由此带来的实际后果值得明确说明:

  • 你需要原始的 .p12 或 .pfx 文件及其密码。仅在 Windows 中安装的证书是不够的,除非你能将其重新导出为文件。
  • Windows、macOS 和 Linux 上的操作步骤都是一样的,因为存储区和界面都是 Thunderbird 自己独有的。
  • 更换新电脑意味着需要在新电脑上重新将证书导入 Thunderbird。复制配置文件(profile)可以将证书一并带过去,但全新安装则不会自动带上。

第 1 步:导入证书

准备好 PKCS#12 文件。它的扩展名为 .p12 或 .pfx,同时包含你的证书和私钥,并受你下载证书时设置的密码保护。如果你丢失了该密码,无法从文件中恢复;你必须从证书仍安装的地方重新导出一份,或者申请重新签发证书。

  1. 打开 Thunderbird 菜单(右上角的三条横线)并选择 Settings(设置)。
  2. 选择 Privacy & Security(隐私与安全),然后向下滚动到 Certificates(证书)。
  3. 点击 Manage Certificates(管理证书)。
  4. 在 Your Certificates(你的证书)选项卡中,点击 Import(导入)。
  5. 选择你的 .p12 或 .pfx 文件,并在提示时输入密码。
  6. 点击 OK(确定)。此时证书会出现在列表中,显示在签发该证书的 CA 下方,并标明你的邮箱地址。

Your Certificates(你的证书)选项卡专门用于存放属于你自己的证书,也就是你持有其私钥的证书。相邻的 People(联系人)选项卡则存放其他人的证书,当你收到他人签名的邮件时,对方的证书就会累积在这里。将自己的证书导入错误的选项卡是常见的失误,会导致该证书无法用于签名。

如果你在配置文件上设置了主密码(Primary Password),Thunderbird 会在导入过程中要求输入它,因为它正是用来保护存储区中私钥的密码。

第 2 步:为你的账户选择该证书

导入操作只是将证书放入存储区,并不会将其关联到某个电子邮件账户,关联证书是一个单独的步骤,且需要针对每个账户分别进行。

  1. 打开菜单(三条横线按钮)并选择 Account Settings(账户设置)。
  2. 在左侧窗格中,在你想要设置的账户下方,选择 End-To-End Encryption(端到端加密)。Thunderbird 对该面板的官方说明写得很清楚:要发送加密或数字签名的邮件,你需要配置”OpenPGP 或 S/MIME 二者之一”。
  3. 找到位于 OpenPGP 部分下方的 S/MIME 部分。
  4. 在 用于数字签名的个人证书旁边,点击 Select(选择)并选取你的证书。
  5. Thunderbird 会提示是否使用同一证书进行加密。除非你被分别签发了独立的签名证书和加密证书,否则接受此提议即可;若是后一种情况,则需自行设置用于加密的个人证书。
  6. 可以选择是否为该账户默认启用签名。默认加密建议保持关闭,因为一旦开启,就无法向任何你尚未拥有其证书的人发送邮件。

选择器中只会显示 Thunderbird 认为对该账户地址有效的证书。若列表为空,几乎总是意味着证书上的电子邮件地址与账户不匹配,或者到签发 CA 的证书链不完整。

在依赖它之前先进行测试

Thunderbird 有一个几乎没有任何指南提到的验证步骤:在同一 S/MIME 部分中,每个已选定证书旁边都有一个 Test(测试)按钮。请务必使用它。这决定了你是现在就发现问题,还是等到一封签名邮件被退回时才发现问题。

它返回的信息非常具体,因此更有助于诊断问题,而不仅仅是提供心理上的安慰:

  • 该证书已通过测试,可用于电子邮件签名。或者是加密方面的类似提示。这正是你所期望看到的结果。
  • 找不到该证书。说明当前选择指向的证书已不在存储区中,通常发生在配置文件被移动或证书被删除之后。
  • 证书验证失败,出现以下错误,随后会显示描述信息以及类似 SEC_ERROR_UNKNOWN_ISSUER 的错误代码。该特定代码意味着证书链不完整:Thunderbird 拥有你的证书,但缺少将其连接到受信任根证书的中间证书。请将 CA 提供的中间证书导入同一证书管理器中的 Authorities(颁发机构)选项卡。

如果验证失败,Thunderbird 仍会提示你可以继续使用该证书。不要将此选项当作解决方案。这意味着你的收件人将看到与你刚刚忽略的相同的失败提示。

发送签名或加密的邮件

在撰写邮件窗口中,使用 Security(安全)下拉菜单为该邮件启用签名或加密。Thunderbird 官方的原话值得再次强调,因为它消除了一个常见的疑虑:”数字签名可让收件人验证该邮件确实由你发送,且内容未被篡改。加密邮件默认始终会被签名。”

要检查收到的邮件,可打开其安全信息。Thunderbird 会显示签名算法、签名摘要算法以及加密算法,并附带密钥长度,例如 AES-GCM,密钥长度为 256 位。这也是确认某位联系人的邮件确实经过了真实签名,而非仅仅声称如此的方法。

为什么还无法向某人发送加密邮件

加密使用的是收件人的证书,而不是你自己的证书。你的证书用于对你发出的邮件进行签名,并使其他人能够向你发送加密邮件。在你持有某人的证书副本之前,Thunderbird 无法向该人发送加密邮件。

一旦你了解这是必需的步骤,交换过程就很简单了。向对方发送一封带有你证书的签名邮件。然后请对方回复一封带有其证书的签名邮件。Thunderbird 会将收到的证书归档到证书管理器的 People(联系人)选项卡下,此后向该地址发送加密邮件就可以正常使用了。这是 S/MIME 本身的特性,而非 Thunderbird 的限制,在 Outlook 及其他所有客户端中情况都是一样的。

还没有证书?Thunderbird 可以为你生成申请

当前版本的 Thunderbird 可以自行生成密钥对及证书申请,这是较早的指南中未曾提及的功能。用 Thunderbird 自己的话来说:”要获取新的个人 S/MIME 证书,请生成证书签名请求(CSR),并将其提交给证书颁发机构(CA)。”

该选项位于同一个 End-To-End Encryption(端到端加密)面板中。你可以选择 CSR 文件的保存位置,选择 RSA(Thunderbird 将其标注为推荐选项)或 ECC,并选择密钥强度。私钥在 Thunderbird 自身的存储区内生成,永远不会离开该存储区,相比下载 PKCS#12 文件,这是一项实实在在的优势:不存在会被丢失、泄露,或需要通过邮件发给自己的文件。

但这种做法也有相应的代价。由于密钥永远不会离开 Thunderbird,若要在手机或第二台电脑上使用同一证书,就必须之后从 Your Certificates(你的证书)选项卡中将其导出;如果在你完成导出之前配置文件就已丢失,那么密钥也会随之丢失。此外需要注意,Thunderbird 会提示生成步骤”可能需要一些时间,并导致程序暂时无响应”,所以不要以为程序已经卡死。

不要删除已过期的证书

当你的证书过期后,你会获得一个新证书,而旧的条目看起来就像是多余的垃圾。请不要动它。

使用旧证书加密的邮件,只能用旧的私钥来解密。从 Your Certificates(你的证书)中删除旧证书,会导致这些邮件永久无法阅读,包括那些已经保存在你邮箱中的邮件。证书过期只会阻止你对新邮件进行签名——这也正是过期机制的意义所在——但该密钥会无限期地继续用于解密旧邮件。请保留每一个已停用的电子邮件证书,并在每次更换设备时,将它们与当前证书一并导出。

故障排除

  • 证书选择器中为空。要么证书不在 Your Certificates(你的证书)中,要么其电子邮件地址与账户不匹配。这两种情况都可以在证书管理器中查看到。
  • 你已在 Windows 中安装了证书,但 Thunderbird 无法识别。这是正常现象。Thunderbird 使用自己独立的存储区,因此也需要将 PKCS#12 文件导入到 Thunderbird 中。
  • Test(测试)按钮报告 SEC_ERROR_UNKNOWN_ISSUER。说明缺少中间证书。请将其导入到 Authorities(颁发机构)选项卡中。
  • 导入失败,或提示输入一个你从未设置过的密码。Thunderbird 此时要求输入的是配置文件的主密码,而不是文件本身的密码。两者是不同的密码,而对话框并不总能明确说明这一点。
  • 某个收件人的加密选项呈灰色不可用。说明你没有对方的证书。请请求对方发送一封签名邮件。
  • 你配置错了账户。S/MIME 设置是按账户和身份分别配置的,因此如果一个配置文件中有多个邮箱地址,就需要在每个适用的地址下分别选择证书。

常见问题

Account Settings 中的 Security 选项卡去哪儿了?

当 Thunderbird 在版本 78 中加入内置 OpenPGP 支持时,它变成了 End-To-End Encryption(端到端加密)。S/MIME 并没有消失,它只是现在与 OpenPGP 共用同一个面板,位于 OpenPGP 下方独立的一个部分中。那些告诉你点击 Security(安全),或让你在 Options(选项)中的 Advanced(高级)选项卡下查找证书的指南,描述的是 2020 年之前的 Thunderbird。

我应该使用 S/MIME 还是 OpenPGP?

Thunderbird 两者都支持,你可以为每个账户分别配置其中一种。S/MIME 使用来自证书颁发机构的证书,信任关系已由 CA 为你建立好,因此这是企业环境以及需要与业务对接方对接时通常采用的方式。OpenPGP 则使用你自己生成并自行验证的密钥,不涉及 CA。如果你购买了电子邮件证书,那么你要配置的就是 S/MIME。

为什么我的证书在 Outlook 中可以正常使用,但在 Thunderbird 中却不行?

这是因为 Outlook 会读取 Windows 证书存储区,而 Thunderbird 不会。在 Windows 中安装证书对 Thunderbird 没有任何影响。请按照上文第 1 步,将相同的 .p12 或 .pfx 文件导入到 Thunderbird 自己的存储区中。我们的配套指南介绍了如何在 Outlook 上安装 S/MIME 证书,其中的情况正好相反。

S/MIME 证书和 SSL 证书是一回事吗?

不是。SSL/TLS 证书用于标识一个网站,并保护与该网站之间的连接。S/MIME 证书用于标识某个人或某个电子邮件地址,并保护邮件内容本身。两者遵循不同的签发规则,彼此不能互相替代。你在 Thunderbird 中所需要的是电子邮件证书。

我需要在每台电脑上都进行此操作吗?

是的,除非你将整个配置文件(profile)复制过去,否则在每一次 Thunderbird 安装中都需要重新操作。证书存放在配置文件中,而不是操作系统中,也不是电子邮件账户本身,因此全新安装时的存储区总是空的。

我可以将证书从 Thunderbird 中备份出来吗?

可以。在 Manage Certificates(管理证书)中的 Your Certificates(你的证书)选项卡下,选中该证书,并使用备份选项,将其写入一个由你自行设置密码保护的 PKCS#12 文件。如果证书是在 Thunderbird 内部生成的,请在生成后立即执行此操作,因为在这种情况下,该存储区保存着这份私钥在世界上唯一存在的副本。

这些步骤适用于哪个版本的 Thunderbird?

适用于当前正式版本 153,以及当前扩展支持版本 140。自版本 78 以来,各面板的名称一直保持稳定,因此从那时起的所有版本都适用于本指南。应用内 CSR 生成功能在这两个当前版本系列中均已支持。

立即订购 SSL 证书, 可节省 10% 的费用!

快速发行, 强大加密, 99.99% 的浏览器信任度, 专业支持和 25 天退款保证. 优惠券代码 SAVE10

龙飞行的详细图像
撰写人

经验丰富的内容撰稿人, 擅长 SSL 证书. 将复杂的网络安全主题转化为清晰, 引人入胜的内容. 通过有影响力的叙述, 为提高数字安全作出贡献.

Avatar of Sergiu Rosca
Technical Review by Sergiu Rosca

Sergiu Rosca is the core web developer behind SSL Dragon. He manages the technical infrastructure, platform performance, and backend integrations that keep the site running smoothly and securely. At SSL Dragon, Sergiu shares practical insights on web development, site optimization, and technical troubleshooting.

All SSL Dragon installation guides are tested on live server environments and undergo a strict peer-review process to ensure your infrastructure remains secure. Read our full Editorial Policy.