1

我有一个 Java 应用程序,它从远程机器获取 GnuPG 加密文件,我需要解密和处理它们。然后我需要加密输出文件并将其发送到远程机器。

起初我尝试过gnupg-for-javahttps://github.com/guardianproject/gnupg-for-java)。它有效,但它提示我输入密码来解密文件并签署加密文件。在文档中有“使用 GnuPG 2.x,gpg-agent 将处理提示用户输入密码短语以及密码短语缓存。

您知道如何在不提示用户的情况下提供密码吗?

4

1 回答 1

2

使用gpg-preset-passphrase,它通常位于/usr/lib/gnupg2/gpg-preset-passphrase(而不是默认路径)。它还应该与 Windows 和 OS X 上的 GnuPG 的常用发行版一起安装。

请注意,您必须通过allow-preset-passphrase在文件中设置选项来允许预设密码~/.gnupg/gpg-agent.conf(如有必要,请创建它,然后重新启动gpg-agent)。此外,不要--passphrase在多用户系统上使用该选项,每个非特权用户都可以读取所有其他应用程序的参数。改为在 STDIN 上提供密码。

于 2016-08-23T09:02:54.733 回答