Thunderbird中,有一个很棒的功能就是使用GPG加密电子邮件,但这只能使用在电脑磁盘上的秘钥,不够安全,在你安装GPG4Win的时候你也可以选择使用Outlook来收发加密电子邮件,但是那个加载项写的很糟糕,这篇文章将会教你怎么在Thunderbird上使用安全卡加密电子邮件。
首先,你需要安全卡(这是显而易见的),插入到你的计算机然后启动Kleopatra,打开智能卡项目。

如果你看到这个页面就说明你的安全卡一切正常。
接下来打开ThunderBird,打开配置编辑器修改

搜索 mail.openpgp.allow_external_gnupg 并将值切换到真。

完成之后重启你的Thunderbird,然后进入账户设置 ,然后在侧边栏进入端到端加密 。选择“ 通过 GnuPG使用你的外部密钥(例如智能卡) ”选项,然后点击继续。

在框里输入你的密钥 ID,然后点击保存密钥 ID。
好,你应该会在这里疑惑密钥 ID是什么,为了获取他,请打开Powershell,转到gpg4win的安装目录的bin中执行:gpg --card-status
你会看到以下内容(隐私内容使用**):
PS C:\Program Files (x86)\GnuPG\bin> gpg --card-status
Reader ...........: canokeys.org OpenPGP PIV OATH 0
Application ID ...: **
Application type .: OpenPGP
Version ..........: 3.4
Manufacturer .....: CanoKeys
Serial number ....: **
Name of cardholder:
Language prefs ...: [not set]
Salutation .......:
URL of public key : None
Login data .......: [not set]
Signature PIN ....: forced
Key attributes ...: ed25519 cv25519 ed25519
Max. PIN lengths .: 64 64 64
PIN retry counter : 2 0 3
Signature counter : 15
UIF setting ......: Sign=on Decrypt=on Auth=on
Signature key ....: **
created ....: 2025-08-15 04:32:18
Encryption key....: **
created ....: 2025-08-15 04:32:18
Authentication key: **
created ....: 2025-08-15 04:32:18
General key info..: pub ed25519/<密钥ID> 2025-08-15 <baiziyang2022@yeah.net>
sec> ed25519/<密钥ID> created: 2025-08-15 expires: never
card-no: **
ssb> ed25519/** created: 2025-08-15 expires: never
card-no: **
ssb> cv25519/** created: 2025-08-15 expires: never
card-no: **把你的秘钥ID复制到ThunderBird的窗口中后保存。
现在打开 Thunderbid中的OpenPGP 密钥管理器 ,导入你的公钥(公钥可以使用Kleopatra导出,这很容易,就不赘述了),然后验证。

接着,你需要让Thunderbird能找到GPGME库,这很容易,把Gpg4Win的安装目录下的bin_64文件夹的路径(你可以尝试使用everything查找gpgme)添加到环境变量中的Path中即可,然后重启计算机。
下一步,起一封电子邮件,在顶部启用加密后发送给自己。
将会弹出一个窗口请求你输入PIN,这里输入提前设定好的即可(不是管理员PIN)

注意!你的智能卡会提示你按压确认按钮两次,但是计算机上不会提示!你可能会以为程序死机!
接着收取邮件,相同的,也会提示你输入密码,注意事项和发送时一样。

恭喜!你成功配置了Thunderbird使用安全卡签名和解密GPG邮件以实现端到端通信!
参考资料:
https://stafwag.github.io/blog/blog/2024/04/21/use-a-gpg-smartcard-with-thunderbird-part_1-setup-gpg/
https://anweshadas.in/how-to-use-yubikey-or-any-gpg-smartcard-in-thunderbird-78/
https://wiki.mozilla.org/Thunderbird:OpenPGP:Smartcards
文章评论