gpg-keyring-daemon 显然会永久缓存密码(重启后)

gpg-keyring-daemon 显然会永久缓存密码(重启后)

多年来,我一直在解密我的 GPG 加密文件。我的私钥是用密码加密的。尝试解密时,会出现一个对话框,要求我输入密码。这种情况只发生过一次,然后它会记住我的密码,直到注销。那是在 Debian wheezy 中,几个月来,在 jessie 中也是如此。(我使用的是 Debian 的默认 GNOME 3 环境。)

最近它开始解密而不要求输入密码。我尝试使用 和 更改密码gpg --edit-key my-key-idpasswd但没有任何区别。它首先要求我输入现有密码,然后要求我输入两次新密码。但gpg -d some_encrypted_file重新启动后始终可以正常工作,而无需输入密码。

似乎gpg-keyring-daemon有问题。如果我尝试unset GPG_AGENT_INFO; gpg -d some_encrypted_file,它会要求输入密码,否则不会解密。

更新:不知何故,在 中dconf-editordesktop.gnome.crypto.cache.gpg-cache-method被设置为always。我将其更改为session但没有任何区别。

答案1

我相信我已经知道到底发生了什么事了。

当出现要求输入密码的对话框时(我认为该对话框是一个名为 的应用程序pinentry),它有一个复选框,上面写着“每次登录时自动解锁此密钥”。如果您(无意中)选中该复选框,它会做两件事:(a)它会记录自动解锁此密钥的决定;(b)它会存储您的密码。

所以现在你需要撤消这两件事。

首先,转到dconf-editor并将 设置desktop.gnome.crypto.cache.gpg-cache-method为其默认值,session而不是always

其次,转到应用程序“密码和密钥”(即seahorse,是的,我很困惑),密码,登录,然后删除存储的密码。

(所有这些显然都不适合用于可用性竞赛。)

相关内容