如何绕过pinentry(密码短语屏幕),而解密一个文件使用gpgme



我正在尝试解密来自服务器的文件,我拥有该服务器所需的公钥。密匙环有密码保护,所以当我试图解密文件时,它会要求我输入密码短语。

当我们试图解密文件时,是否有一种方法可以通过传递密码来绕过该密码短语?

我正在使用gpg-agent,其中密码短语缓存600秒默认时间,由于某种原因,我无法设置max-cache-ttl(它不适合我,我不知道y),并且仅适用于该会话。

现在我想缓存我使用gpg-preset-passphrase的密码短语。我在.gnupg/gpg-agent.conf中将其设置为gpg-preset-passphrase --preset hex。我不知道我错过了什么。

有人能让我知道我在这错过了什么?

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

还有一个称为max-cache-ttl的选项,即使在成功检索缓存的passphrase并重置default-cache-ttl之后,该选项也不会更改其计时器,并在设置超时后使缓存的passphrase过期。

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

我发现的另一个问题是gpg-agent的会话问题。也就是说,如果我打开一个新的会话并尝试解密,它不会发生,并且错误地指出这个会话不可用gpg-agent。我编写了一些shell脚本,并将其放在bashrc上,以便它在新会话启动时立即启动

最新更新