Lar*_*ars 16 linux enigmail gnupg
我在 ubuntu 12.04 和用于 Thunderbird 的 Enigmail 插件上使用 gpg-agent 2.0.17 和 gpg 1.4.11。打开加密的电子邮件时,Enigmail 会使用相关的 pinentry 程序调用 gpg-agent 并要求输入密码。然后我可以选择设置缓存密码的生命周期,通常设置为会话结束。
由于我很少关闭或注销我的会话,我想强制 gpg-agent 在锁定会话时忘记所有缓存的密码。我已经搜索了一种方法,gpg-agent 的手册页指出, -SIGHUP 将刷新所有密码 - 然而,与手册页相反,缓存的密码不会被遗忘。
关于如何强制 gpg-agent 忘记密码的任何想法?
小智 16
gpgconf --reload gpg-agent是强制代理忘记它已缓存在内存中的密码的一种方法。目前 (gpg 2.0-2.1) 这 [几乎] 等同于pkill -HUP gpg-agent. 我说“几乎等同”,因为理论上您可以运行多个代理,并且 pkill 将尝试向所有代理发送 SIGHUP。
缓存密码的 TTL 由gpg-agent的选项控制:
--default-cache-ttl n
Set the time a cache entry is valid to n seconds. The default is 600 seconds.
--max-cache-ttl n
Set the maximum time a cache entry is valid to n seconds. After
this time a cache entry will be expired even if it has been accessed
recently. The default is 2 hours (7200 seconds).
Run Code Online (Sandbox Code Playgroud)
根据一种按需控制的方式,如果您能够在锁定屏幕时触发命令,则可以使用钥匙串处理gpg-agent来执行
keychain --clear --agents gpg
Run Code Online (Sandbox Code Playgroud)
这将杀死 gpg-agent 的所有托管实例。但是,您应该有一种keychain --agents gpg --eval $gpg在解锁屏幕时执行的方法。可能太麻烦了。
我使用一个简单的:
echo RELOADAGENT | gpg-connect-agent
Run Code Online (Sandbox Code Playgroud)
作为一种魅力工作。
——
编辑:用Debian 10, gpg 2.2.12,进行测试libgcrypt 1.8.4
| 归档时间: |
|
| 查看次数: |
18595 次 |
| 最近记录: |