【问题标题】:signtool.exe runs slowly under different user accountsigntool.exe 在不同的用户帐户下运行缓慢
【发布时间】:2015-12-22 23:22:21
【问题描述】:

我们使用 signtool.exe 对一组托管程序集进行签名(在命令提示符下,我们在一个普通的 .bat 文件中运行 signtool.exe for-loop,应用来自 pfx 文件的证书)

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

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

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

谁能想到任何可能会显着影响 signtool.exe 速度的用户帐户设置?它是否需要与任何外部服务交互?

【问题讨论】:

    标签: .net performance signtool


    【解决方案1】:

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

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

    我不知道为什么 signtool 在使用禁用时间戳的本地 pfx 文件签署本地文件时需要 ping 互联网,但添加本地代理排除解决了它。

    【讨论】:

    • 因为signtool需要在线检查CRL来验证签名证书是否被撤销
    • 该检查真的会导致它需要那么长时间才能运行吗?为什么域管理员的帐户不必做同样的检查?
    • patrickvacek:在这种情况下,我认为它不仅仅是一个缓慢的连接 - 它可能失败了,因为它没有将所需的身份验证详细信息传递给我们的代理服务器。这可能导致进程锁定直到超时,然后大概它一直在重试,所以它基本上将构建过程锁定了半个多小时,只是等待它从未收到过的回复。管理员帐户速度很快,因为它能够与证书颁发机构的服务器通信。
    猜你喜欢
    • 1970-01-01
    • 2020-09-23
    • 1970-01-01
    • 2012-10-26
    • 2015-10-06
    • 2011-04-05
    • 1970-01-01
    • 2012-02-14
    • 2021-09-06
    相关资源
    最近更新 更多