tma*_*urg 5 encryption passwords emacs gnome-keyring gnupg
我使用 Emacs 用对称密钥加密文本文件。解密文件时,程序 pinentry 会打开一个用于输入密码的窗口。我不小心点击了“保存在密码管理器中”的复选框,然后点击了输入键(无密码)。显然,空密码已存储,现在打开文件时不再提示我输入密码。相反,我收到以下错误消息:
gpg: AES encrypted data
gpg: gcry_kdf_derive failed: Invalid data
gpg: encrypted with 1 passphrase
gpg: decryption failed: No secret key
Run Code Online (Sandbox Code Playgroud)
我在 Emacs 中打开文件时收到此消息,但在使用gpg2 -d the_file.gpg
.
如何删除空密码并恢复密码提示?
我已经尝试过的事情(不成功):
我正在使用 Xubuntu 16.04。
Ubuntu 16.04 及其衍生版本目前附带 GPG 2.1.11,没有代理无法使用。此外,从 2.1 开始,代理套接字文件固定为${GPG_HOMEDIR}/S.gpg-agent
. 我之所以这么说,是因为我不知道如何gpg-agent
通过gnome-keyring
拥有该文件来充当代理人,但在任何时候只有一个人可以拥有它。
事实上有一个用于保存密码的复选框表明您没有使用pinentry
via gpg-agent
,而是Seahorse via gnome-keyring
。我建议阅读“管理密码”部分,并尝试以这种方式找到不良关联(该特定文件的空通行证)。
由于您提到在 Seahorse 中寻找密钥 - 如果您使用对称加密,则密码将不会与任何 GPG 加密密钥关联。(我发现 GPG 在这方面有所欠缺,详情请参见此处。)