gpg:解密失败:错误的会话密钥
gpg: decryption failed: Bad session key
我正在尝试使用 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
我尝试重新加载 gpg 代理,但没有成功:
$ gpgconf --reload gpg-agent
如何解决?
郑重声明,如果有人也会遇到这个问题:
问题是,加密是使用 gpg 版本 1.4.11 完成的,解密是使用 gpg 版本 2.0.22。
将加密升级到 gpg2 (2.0.17) 后,一切正常。
我找到了这个,这似乎是我在其他任何地方都找不到的神奇之处:
尝试将 --pinentry-mode loopback
添加到您的命令中。也许有一个
您的安装/pinentry 程序有问题,因此它无法启动或
您不小心使用了提供错误的虚拟/测试输入
密码。
我在批处理模式下使用密码文件加密了我的文件。当我试图解密我的文件时,我收到了可怕的“会话密钥错误”消息。
我为 Windows 创建了一个带有 Vim 的密码文件,Vim 在文本行的末尾留下了 \r\n,即使我没有按回车键 return。 gpg 忽略了 \n 但 保留了 \r 作为密码短语的一部分!
Vim for Windows 可以诱导不离开 \r\n,但只使用记事本在行尾不带回车 return 更容易。最好使用 hexdump 检查您的密码文件以确保。使用命令行提供密码时,还有其他方法会受到 \r\n 问题的伤害,因此请注意。
我正在尝试使用 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
我尝试重新加载 gpg 代理,但没有成功:
$ gpgconf --reload gpg-agent
如何解决?
郑重声明,如果有人也会遇到这个问题:
问题是,加密是使用 gpg 版本 1.4.11 完成的,解密是使用 gpg 版本 2.0.22。
将加密升级到 gpg2 (2.0.17) 后,一切正常。
我找到了这个,这似乎是我在其他任何地方都找不到的神奇之处:
尝试将 --pinentry-mode loopback
添加到您的命令中。也许有一个
您的安装/pinentry 程序有问题,因此它无法启动或
您不小心使用了提供错误的虚拟/测试输入
密码。
我在批处理模式下使用密码文件加密了我的文件。当我试图解密我的文件时,我收到了可怕的“会话密钥错误”消息。
我为 Windows 创建了一个带有 Vim 的密码文件,Vim 在文本行的末尾留下了 \r\n,即使我没有按回车键 return。 gpg 忽略了 \n 但 保留了 \r 作为密码短语的一部分!
Vim for Windows 可以诱导不离开 \r\n,但只使用记事本在行尾不带回车 return 更容易。最好使用 hexdump 检查您的密码文件以确保。使用命令行提供密码时,还有其他方法会受到 \r\n 问题的伤害,因此请注意。