2010-07-22 106 views
1

我们使用signtool.exe签署了一套管理组件(在命令提示符下运行速度慢,我们在for循环微不足道的.bat文件运行signtool.exe,从应用证书pfx文件)signtool.exe根据不同的用户帐户

  • 当在域管理员帐户下运行时,它在1分钟内运行。
  • 在本地用户帐户下运行时,需要37分钟!

设置和条件(除了使用的登录帐户)在两种情况下都是相同的。

不用说了,我们构建服务器使用的是“错误”的帐户下运行!

任何人都可以想到的可能,从而影响显著的signtool.exe速度的任何用户帐户设置?它是否需要与任何外部服务进行交互?

回答

2

在灵感momment,我已经解决了这个问题。如果有其他人遇到这种情况,那是因为我们的代理服务器

管理员帐户有排除,因此本地地址不会通过代理服务器解析,但构建帐户没有排除,所以signtool通过我们的代理进行了不必要的往返(数千英里外),因此非常慢)。

我不知道为什么signtool需要签订使用带有时间戳禁用本地PFX文件的本地文件时,但添加本地代理排除固定它ping通互联网。

+1

因为signtool需要在网上查询CRL来验证签名证书已被撤销或不 – 2015-04-03 08:00:25

+0

那会真的检查导致它会持续多长时间运行?为什么域管理员的帐户不需要执行相同的检查? – patrickvacek 2015-04-03 13:51:44

+0

patrickvacek:在这种情况下,我认为这不仅仅是一个缓慢的连接 - 它可能失败,因为它没有将所需的身份验证细节传递给我们的代理服务器。这可能会导致进程锁定,直到超时,然后推测它会不断重新尝试,所以它基本上锁定了超过半个小时的构建过程,只是等待它从未收到的回复。管理员帐户很快,因为它能够与证书颁发机构的服务器进行通信。 – 2015-04-04 08:42:40