1

我正在通过 Windows 服务签署可执行文件。此服务创建一个批处理文件,其中实际的 Sign 命令是:

cd D:\wmt_sign\Signer\Tools
signtool sign /f "D:\codesign\cert\Certificate.pfx" /p MyPass /t "http://timestamp.digicert.com" /d "zxz" /du "http://www.testurl.com"  "D:\codesign\Sign\Request307\filetobesigned.exe">>"D:\codesign\log\signlog\Request\SignLogReport.txt"
  1. 当我直接从机器执行批处理命令时,没问题,一切正常
  2. 当我从命令行直接执行 Sign 命令时,一切正常
  3. 当我在代码(process.startinfo....etc)中执行批处理文件时,无法访问时间戳 URL!(错误是“无法访问指定的时间戳服务器。”)

该服务在本地系统帐户下运行,有一个防火墙,但这个是开放的向外流量。

我一点头绪都没有......

4

1 回答 1

-1

默认情况下,LocalSystem 帐户没有任何访问网络的权限。您应该改用网络服务帐户。即使那样,如果您尝试访问的任何 URL 都需要身份验证,它可能仍然无法正常工作。在这种情况下,您可能需要为服务创建一个域帐户才能在其下运行或模拟。

于 2011-12-07T15:12:50.897 回答