最近,我的通行证密码管理器开始花费 45 秒以上的时间来显示主密码的 gpg-agent 密码提示,当我尝试登录网站并且必须坐在那里盯着密码时,这非常烦人提示一分钟。
我开始做一些测试,发现 gpg2 代理似乎有问题。当我运行 gpg1 时,没有配置任何代理,速度非常快(这包括输入密码的时间):
$ time gpg -vvv -d BitBucket.gpg
real 0m2.940s
user 0m0.024s
sys 0m0.004s
Run Code Online (Sandbox Code Playgroud)
但是当我对同一个文件运行 gpg2 (代理需要使用 gpg2)时,速度非常慢:
$ time gpg2 -vvv -d BitBucket.gpg
real 0m53.421s
user 0m0.000s
sys 0m0.004s
Run Code Online (Sandbox Code Playgroud)
然而,既然代理已经缓存了我的密码,速度又快了:
$ time gpg2 -vvv -d BitBucket.gpg
real 0m0.126s
user 0m0.004s
sys 0m0.000s
Run Code Online (Sandbox Code Playgroud)
这并不是解密速度慢——一旦密码提示最终出现,它就会在或多或少的正常时间内解密。只是代理需要很长时间才能加载并显示密码提示。
详细的日志不会产生任何有用的信息。输出如下所示(不相关和/或敏感信息替换为<angle-bracketed text>
:
$ gpg2 -vvv -d BitBucket.gpg
gpg: using character set 'utf-8'
<key parameters>
:pubkey enc packet: version 3, algo 1, keyid <X>
data: …
Run Code Online (Sandbox Code Playgroud)