【问题标题】:Getting "GPG Error" when running Java application as Windows 7 service将 Java 应用程序作为 Windows 7 服务运行时出现“GPG 错误”
【发布时间】:2011-07-08 22:09:22
【问题描述】:

当我使用包装器将 Java 应用程序作为 Windows 服务运行时,一切正常,除非应用程序尝试解密文件。它会产生以下错误:

GPG 错误 >> 代码:2 >> gpg:使用 RSA 密钥加密,ID ########
gpg 解密失败:密钥不可用。

应用程序在不作为服务运行时可以毫无问题地加密和解密文件。包装器也可以正常工作。

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

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

怎么了?系统可能在哪里寻找密钥?

【问题讨论】:

    标签: java windows-services gnupg encryption


    【解决方案1】:

    我通过更改服务属性解决了上述问题。我采取了以下步骤来解决问题。

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

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

    3. 单击登录选项卡,然后单击此帐户单选按钮

    4. 单击浏览按钮,然后输入对象名称以选择我为我的机器输入了我的用户名,并在用户名确认后单击检查名称按钮单击确定按钮

    5. 输入密码和确认密码然后点击应用点击确定提示对话框

    6. 停止服务,然后重新启动服务发送加密文件,它应该可以正常工作。

    为什么我必须这样做,因为当我默认创建服务时,它使用本地系统帐户而不是我的所有密钥和配置文件所在的用户帐户。

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

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

    【讨论】:

    • 很高兴听到它已排序。您可以通过单击此答案上/下箭头旁边的空心复选标记来接受您自己的答案。
    【解决方案2】:

    将您的密钥环添加到您的 C:\Users\Default\AppData\Roaming\gnupg 文件夹。显然 localsystem 帐户从这里获取了密钥环。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-06-21
      • 1970-01-01
      • 2019-12-25
      • 2011-01-13
      • 1970-01-01
      • 2010-11-27
      相关资源
      最近更新 更多