2016-08-18 114 views
0

我有一个Java应用程序从远程机器获取GnuPG加密文件,我需要解密并处理它们。然后我需要加密输出文件并将其发送到远程机器。在gnupg-for-java中为GnuPG密钥提供密码

起初我试过gnupg-for-javahttps://github.com/guardianproject/gnupg-for-java)。它可以工作,但它会提示我输入密码来解密文件并签名加密文件。在文档有“使用GnuPG 2.x中,GPG-受托人处理提示用户,输入密码,以及密码缓存。

你知道我怎么能不提示用户提供密码?

回答

1

使用gpg-preset-passphrase,通常位于/usr/lib/gnupg2/gpg-preset-passphrase(而不是默认路径)。还应该使用GnuPG对Windows和OS X.通常分布安装

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