【问题标题】:Enigmail GPG error - gpg: decryption failed: secret key not availableEnigmail GPG 错误 - gpg:解密失败:密钥不可用
【发布时间】:2013-08-20 13:00:53
【问题描述】:

我安装了全新的 Linux Mint 14。安装了 Thunderbird 和 Enigmail。

生成我的密钥,得到朋友的公钥,导入它。

给我的朋友发了一封加密邮件,他能够很好地解密。

但是,当他回复时,我得到“gpg:解密失败:密钥不可用”

我尝试删除我的密钥并重新导入它。我尝试更改各种设置。但我无法弄清楚问题是什么。我过去使用过 Linux/Thunderbird/Enigmail,从未出现过此错误。

【问题讨论】:

    标签: public-key-encryption gnupg linux-mint


    【解决方案1】:

    听起来您的朋友一开始并没有将消息加密为您的公钥。该错误消息仅表示您不拥有该消息被加密到的任何密钥的密钥。

    我想你会发现,如果你将加密的消息保存到一个文件中并运行“gpg -v”,它会告诉你它在你的密钥环上找不到密钥来解密它。我也敢打赌,在该文件上运行“gpg --list-packets”或“pgpdump”(这只是使 --list-packets 选项更易于阅读),您会发现该消息仅被加密为你朋友的钥匙。

    【讨论】:

    • 谢谢,遇到了同样的问题,您的回答帮助了我。
    【解决方案2】:

    听起来很愚蠢,但请确保您没有混淆 gpg 密钥和 ssh 密钥。这就是那种会让你把头发扯掉的大脑放屁。这就是我留短发的原因:)

    看到这个:Are GPG and SSH keys interchangeable?

    【讨论】:

      【解决方案3】:

      我刚刚发生了与 OP 完全相同的事情,但原因不同。我最终注意到 Thunderbird Enigmail 正在查看 gpg2 的密钥环,而我使用 gpg 创建了最新的密钥对。您可以检查它是否在 gpg 中并将其带到:

       gpg2 --list-secret-keys 
       gpg2 --import ~/.gnupg/secring.gpg
       gpg2 --list-secret-keys
      

      它会在中间步骤后询问您的密钥密码。

      【讨论】: