如何触发gpg代理刷新密码?

我们使用StackExchange黑盒以及Hiera-eyaml-gpg来使用GPG密钥对我们的Git 仓库中的文件进行encryption。

我configurationGit使用Textconvconfiguration解密文件,所以当我执行像git show ...git diff ...git log -p ...这样的命令时,它会自动解密和比较blackbox和.eyaml文件。

我也在我的OSX上使用GPG代理 ,所以它会记住一段时间的密码。

我碰到的问题是专门用eyaml – 如果我执行git show HEAD..FETCH_HEAD并且代理需要刷新密码,那么它会自动popup一个很好的TUI,要求重新input它。 如果它是通过Blackbox而不是gpg-hiera-eyaml触发的,那么这个方法很好用。

我想find一种方法来告诉gpg“现在请直接从命令行请求密码”,而不必触发一些blackbox命令。

这可能吗?

谢谢。

编辑:这是在OSX上的GPG 1.4.20。

编辑:我试着用gpg-preset-passphrase -v -c $(gpg --list-secret-keys --with-fingerprint --with-colons | awk -F: '$1 == "fpr" { print $10 }')但它没有什么区别 – git diff与eyaml文件仍然尝试读取密码并失败。

尝试:

 gpg-connect-agent RELOADAGENT /bye