2011-03-04 95 views
1

当我将Java应用程序作为利用包装的Windows服务运行时,除了应用程序试图解密文件时,一切正常。它产生以下错误:将Java应用程序作为Windows 7服务运行时获取“GPG错误”

GPG error >> code: 2 >> gpg: encrypted with RSA key, ID ########
gpg decryption failed: secret key not available.

当不作为服务运行时,该应用程序加密和解密文件没有任何问题。包装也工作正常。

在Windows注册表中设置并确认了环境变量,但由于某些原因,系统未查找密钥所在的目录Users\AppData\...

这是一个自动化的应用程序,所以没有密码来加密或解密文件。

出了什么问题?系统可能在寻找密钥?

回答

1

我通过更改服务属性解决了上述问题。接下来的一步我解决了这个问题。

  1. 在命令行中输入services.msc,然后按Enter键。它将打开服务窗口。

  2. 找到我的服务,然后右键单击,然后单击属性

  3. 点击登录选项卡,然后单击Browse(浏览)按钮,此帐户单选按钮

  4. 点击然后输入对象名称来选择我进入我的用户名我的机器,然后单击检查名称按钮一次用户名确认单击OK按钮

  5. 输入密码和确认密码,然后单击应用单击OK通知对话框

  6. 停止服务,然后重新启动服务发送加密文件,它的工作原理应该如此。

为什么我必须这样做,因为当我默认创建的服务是使用Local System帐户,所有的按键和轮廓位于不是我的用户帐户。

现在的问题是还是有人喜欢回答:

如何改变或更改本地系统帐户在Windows操作系统?

+0

很高兴听到它被排序。您可以通过点击此答案上的向上/向下箭头旁边的空白复选标记来接受您自己的答案。 – 2011-03-10 22:57:36

0

将您的钥匙圈添加到您的C:\ Users \ Default \ AppData \ Roaming \ gnupg文件夹中。显然,本地系统帐户从这里抓住了钥匙圈。

相关问题