有没有一种方法可以解密 gpg 中的文件,而无需弹出密码,也无需批处理文件?

有没有一种方法可以解密 gpg 中的文件,而无需弹出密码,也无需批处理文件?

我需要弄清楚如何从命令行解密,而无需 gpg 要求弹出窗口输入密码,我想在命令行中定义它?

有没有可能不用创建批处理文件

请帮忙

答案1

GnuPG 是在命令行还是在 GUI 提示符中询问取决于是否gpg-agent使用以及pinentry选择了哪种实现。遗憾的是,没有简单的方法可以配置 GnuPG 在命令行上使用时使用命令行提示符,否则使用 GUI 提示符,正如我在“GnuPG pinentry 取决于 GUI 存在”。另外,我不确定 Windows 是否有可用的仅命令行 pinentry 实现。

如果您使用 GnuPG 1,您可以简单地选择--no-use-agent返回到命令行。如果您使用的是 GnuPG 2.0,则需要提供额外的参数--batch,GnuPG 2.1 要求使用gpg-agent,并且您必须返回到上面链接中建议的解决方法。

gpg-preset-passphrase另一个解决方法是在调用之前使用gpg预设密码gpg-agent,但您需要进行gpg-agent适当的配置,而且在 Windows 下似乎gpg-preset-passphrase不可用,但是也可以通过运行来实现gpg-connect-agent。这在编写脚本时可能是可行的,但对于日常的命令行使用来说似乎不是一个合理的选择。

总而言之,您最好配置gpg-agent为暂时缓存密码,并接受不时在 GUI 上询问您。

相关内容