当我使用 Thunderbird 编写新电子邮件并使用 Enigmail 签名邮件时,收到一条错误消息:
Enigmail 警报
保存时加密草稿消息
电子邮件地址或密钥 ID '[电子邮件保护]' 无法与有效且未过期的 OpenPGP 密钥匹配。请确保您拥有有效的 OpenPGP 密钥,并且您的帐户设置指向该密钥。
此帐户有一个 OpenPGP 私钥和公钥。最近我重新开始使用一个干净的帐户,并且必须重新创建 Thunderbird 配置文件。我导入了私钥来签署外发电子邮件,这很有效。
针对一个帐户输出gpg -K
。我有几个密钥,所有密钥都有这个问题。
$ pgp -K
sec 4096R/XXXXXXXX 2013-11-09 [expires: 2018-10-11]
uid [email protected]
ssb 4096R/YYYYYYYY 2013-11-09
由于某种原因,无法保存邮件。我不知道为什么。
为什么 Thunderbird 无法保存我签名的电子邮件?我该如何修复?
答案1
可能会出现一系列不同的问题。
私钥未导入
如果你没有将私钥迁移到新机器,显然它们不能使用。gpg --export
仅导出民众密钥,而非私钥。gpg --export-secret-keys
另外运行。
gpg --list-secret-keys
您可以通过运行(或简化版本)来验证这是否是问题gpg -K
。您的密钥应该列在这里。
导入后,还请参阅此答案的“信任”部分。
GnuPG 2.1 找不到密钥
GnuPG 1 和 2 用于secring.gpg
存储私钥,GnuPG 2.1 将它们移至pubring.gpg
。如果您已安装 GnuPG 2.1,请确保它也能查看您的私钥。GnuPG 2 通常安装为gpg2
:gpg2 --list-secret-keys
。
如果gpg
列出了密钥,但gpg2
没有,则从 GnuPG 1 导出它们并导入到 GnuPG 2.1:
gpg --export-secret-keys | gpg2 --import
导入后,还请参阅此答案的“信任”部分。
账户的 Enigmail 配置中定义了错误的密钥
您可能在帐户的 Enigmail 配置中定义了固定密钥。打开帐户首选项,并为相应帐户选择“OpenPGP 安全”。是否配置了任何固定密钥?
缺少信任配置
Enigmail 默认只使用经过验证的密钥。为了能够验证密钥,必须有一个信任路径从一个有效密钥到该密钥。
您自己的钥匙是信任来源在信任网络概念中,应该有终极信任。在命令行中,可以通过运行来配置信任gpg --edit-key [key-id]
。现在,在 GnuPG 编辑键命令提示符中,运行 trust . The assistant will ask you what trust to provide, choose "ultimate". Finally,
save` 更改。
这也可以使用 GnuPG 的几个图形前端来完成,但是有太多的图形前端无法描述如何做到这一点。看看在编辑您自己的密钥时是否找到一些“信任”设置。