gpg:解密失败:会话密钥错误

yeg*_*256 7 gnupg

我正在尝试使用gpg解密文件并收到此错误:

$ gpg --no-tty --batch --verbose --decrypt --passphrase foo file.enc
Version: GnuPG v1.4.11 (GNU/Linux)
gpg: armor header: 
gpg: CAST5 encrypted data
gpg: encrypted with 1 passphrase
gpg: decryption failed: Bad session key
Run Code Online (Sandbox Code Playgroud)

我试图重新加载gpg代理,没有运气:

$ gpgconf --reload gpg-agent
Run Code Online (Sandbox Code Playgroud)

怎么解决?

Udo*_*ski 9

为了记录,如果有人也会遇到这个问题:

问题是,加密是使用gpg版本1.4.11完成的,解密是使用gpg版本2.0.22.

将加密升级到gpg2(2.0.17)后,一切正常.

  • 如果有人(像我一样)加密数据并需要解密它们怎么办?我无法将加密器更新为相同版本.. (3认同)
  • 这是可耻的。因此,我加密了一些文件以确保它们的安全,然后,10 年后,我将无法使用相同的 GPG 软件解密它们,因为加密是版本相关的,而且可耻的是不向后兼容。什么?????? (2认同)

小智 7

我发现了这个,这似乎是我在其他任何地方都找不到的魔法:

尝试添加--pinentry-mode loopback到您的命令中。也许您的安装 / pinentry 程序存在问题,使其无法启动,或者您不小心使用了提供错误密码短语的虚拟 / 测试 pinentry。

  • 对我有用的确切命令: gpg --pinentry Loopback --decrypt MYFILE.gpg (3认同)