在 gnupg-for-java 中为 GnuPG 密钥提供密码
Providing password for GnuPG keys in gnupg-for-java
我有一个 Java 应用程序,它从远程机器获取 GnuPG 加密文件,我需要解密和处理它们。然后我需要加密输出文件并将其发送到远程机器。
起初我尝试了gnupg-for-java
(https://github.com/guardianproject/gnupg-for-java)。它有效,但它提示我输入密码来解密文件和签署加密文件。在文档中有“使用 GnuPG 2.x,gpg-agent 将处理提示用户输入密码以及密码缓存。”
您知道如何在不提示用户的情况下提供密码吗?
使用 gpg-preset-passphrase
,它通常位于 /usr/lib/gnupg2/gpg-preset-passphrase
(而不是默认路径)。它也应该与 Windows 和 OS X.
上的常规 GnuPG 发行版一起安装
请注意,您必须通过在 ~/.gnupg/gpg-agent.conf
文件中设置 allow-preset-passphrase
选项来允许预设密码(必要时创建它,然后重新启动 gpg-agent
)。另外,不要在多用户系统上使用 --passphrase
选项,每个非特权用户也可以读取所有其他应用程序的参数。请改为在 STDIN 上提供密码。
我有一个 Java 应用程序,它从远程机器获取 GnuPG 加密文件,我需要解密和处理它们。然后我需要加密输出文件并将其发送到远程机器。
起初我尝试了gnupg-for-java
(https://github.com/guardianproject/gnupg-for-java)。它有效,但它提示我输入密码来解密文件和签署加密文件。在文档中有“使用 GnuPG 2.x,gpg-agent 将处理提示用户输入密码以及密码缓存。”
您知道如何在不提示用户的情况下提供密码吗?
使用 gpg-preset-passphrase
,它通常位于 /usr/lib/gnupg2/gpg-preset-passphrase
(而不是默认路径)。它也应该与 Windows 和 OS X.
请注意,您必须通过在 ~/.gnupg/gpg-agent.conf
文件中设置 allow-preset-passphrase
选项来允许预设密码(必要时创建它,然后重新启动 gpg-agent
)。另外,不要在多用户系统上使用 --passphrase
选项,每个非特权用户也可以读取所有其他应用程序的参数。请改为在 STDIN 上提供密码。