我创建了一个Web应用程序,该应用程序使用gpg对数字文件进行数字签名。该代码可在我的机器上运行,但不能在服务器上运行。我认为这可能是权限或配置问题,但是我很难对它进行故障排除。该Web应用程序以NETWORK SERVICE
的身份运行。
当我从Web应用程序运行gpg --version > gpgv.txt
或gpg --version 2> gpgv.txt
时,在本地计算机上运行时会得到一个名为gpgv.txt
的空白文本文件,该文件包含信息。当我以自己的身份登录服务器并从命令行运行代码时,会获得相关信息。为了授予NETWORK SERVICE
对gpg
的访问权限,我需要做些什么吗?
我尝试将gpg.exe
放入目录并以这种方式运行而没有成功。 NETWORK SERVICE
对目录具有完全访问权限。我似乎无法收到错误消息来找出问题所在。
我基本上是在尝试运行此
echo PASSWORD|gpg --pinentry-mode loopback --batch --passphrase-fd 0 --yes --homedir C:\Windows\ServiceProfiles\NetworkService\AppData\Roaming\gnupg -u USERNAME --armor --sign FILENAME
同样,这在我的本地计算机上有效,但在服务器上无效。当我将上述代码输出到文本文件时,它也是空白的。我试过用不同的方法改变homedir的结果相同。我已将目录的gpg文件夹复制到NETWORK SERVICE
,但这也不起作用。