神秘错误 - "no matching secret key found to decrypt message"

Enigmail Error - "no matching secret key found to decrypt message"

切换 Linux 发行版后,gpg 发生了变化,我无法加密任何电子邮件。甚至是我自己的。 Enigmail 给我 "No matching secret key found to decrypt message" 错误信息。

之前:

$gpg --version
gpg (GnuPG) 2.1.18
libgcrypt 1.7.6-beta

现在:

$gpg2 --version 
gpg (GnuPG) 2.2.13
libgcrypt 1.8.4

两者都有 Enigmail 2.0.9。

最后,这有帮助:https://sourceforge.net/p/enigmail/forum/support/thread/03ebee57/

gpg2 --edit-key 0xYourKeyId setpref save

(0xYourKeyId 取自 gpg2 --list-secret-keys)

编辑:好的,这不起作用。因为我必须在对话框中解锁钥匙串,所以我可以解密消息大约 5 分钟。

好久没来信了。不过我会尝试给它一个机会,因为我认为类似的问题仍然可能(再次)发生。

  1. 首先尝试这个命令:

    gpg-agent --daemon

期望是,如果配置文件有问题,它会告诉你。示例输出:

gpg-agent[22861]: /home/<REPLACE_WITH_YOUR_USERNAME>/.gnupg/gpg-agent.conf:13: invalid option

例如,这告诉你:"Line 13 in that file contains invalid setting option"。 在这种情况下,编辑该文件,修复错误或注释掉创建错误的行,例如:

  1. 编辑文件。例如,在您的 console/terminal 中,尝试其中一项:

    nano /home/REPLACE_WITH_YOUR_USERNAME/.gnupg/gpg-agent.conf

    gedit /home/REPLACE_WITH_YOUR_USERNAME/.gnupg/gpg-agent.conf

    编辑器/home/REPLACE_WITH_YOUR_USERNAME/.gnupg/gpg-agent.conf

  2. 现在转到该行(这里的示例是第 13 行),并替换其内容,示例

    忽略签名缓存

与线

# ignore-caching-for-signing

请注意行前的'#',这是取消激活无效选项的注释符号。

  1. 转到上面的第 1 行并重复 gpg-agent 命令,以及直到这一行的步骤,直到 gpg-agent 启动而不抱怨无效选项

    gpg-agent --daemon

  2. 现在用enigmail启动thunderbird,点击加密邮件。根据我的经验,您现在应该能够看到它的内容。