如何在使用gpgme解密文件时绕过pinentry(密码短语屏幕)

我试图从服务器解密一个文件,我有该服务器所需的公钥。 密钥环有密码保护,因此当我尝试解密文件时,它会要求我输入密码。

当我们尝试解密文件时,是否有办法通过传递密码来绕过密码。

我正在使用gpg-agent ,其中密码被缓存600秒默认时间,并且由于某种原因我无法设置max-cache-ttl (它对我不起作用,我不知道y)并且仅可用为那届会议。

现在我想缓存我正在使用gpg-preset-passphrase 。 我在.gnupg / gpg-agent.conf中将其设置为gpg-preset-passphrase --preset hex 。 我不知道我在这里缺少什么。

有人可以让我知道我在这里缺少什么

谢谢

我无法绕过密码短语或pinentry屏幕,但我使用了像default-cache-ttl这样的gpg-agent选项来设置缓存时间。 因此,从第二次尝试开始,pinentry将检索缓存的密码,并将在defaul-cache-ttl上重置计时器。

还有一个名为max-cache-ttl选项,即使在成功检索缓存的密码并重置default-cache-ttl之后,此选项也不会更改其计时器并在设置超时后使缓存的密码短语失效。

例如:如果我将它们都设置为10小时(即36000秒),如果我在5小时后调用解密,则默认将重置其计时器,现在我们有10个小时。 但最大值将在最初的10小时后到期,因此在10小时后删除缓存的密码短语。

我发现的另一个问题是gpg-agent的会话问题。 即,如果我打开一个新会话并尝试解密,则不会发生gpg-agent无法用于此会话的错误。 我编写了一些shell脚本并将其放在bashrc上,以便在新会话启动时立即启动

Interesting Posts