【问题标题】:"SignTool error: Access is denied" in TFS 2010 build processTFS 2010 构建过程中的“SignTool 错误:访问被拒绝”
【发布时间】:2012-01-30 17:06:39
【问题描述】:

我在尝试签署文件时收到“SignTool 错误:访问被拒绝”。当我使用管理员 cmd 时,一切正常。但是,此过程将在 TFS 2010 构建过程中使用,并且使用带有 signtool 的 InvokeProcess 任务会提供与非管理员命令提示符相同的访问被拒绝消息。

更多信息:

按照这些说明操作后,我有以下文件:

  • MyCA.cer
  • MyCA.pvk
  • MySPC.cer
  • MySPC.pvk
  • MySPC.pfx

MyCA 在我的受信任的根证书颁发机构中 我按照此处的建议将 MySPC.pfx 导入个人证书:SignTool error: Access is denied

为了进行签名,我使用了导入到 Personal 部分的 MySPC.pfx 的指纹,因此我的 signtool 命令如下所示:

签名 /sha1 1e9d7b5ad98552d9c58944e3f3903e6b929f4819 /t http://timestamp.verisign.com/scripts/timestamp.dll“文件名”

这再次在管理员模式下工作。这在以管理员身份运行 cmd 时也有效:

sign /f "C:\Code Signing Non-Release\MySPC.pfx" /t http://timestamp.verisign.com/scripts/timestamp.dll "FileName"

一般来说是代码签名的新手,因此欢迎提供任何帮助。

【问题讨论】:

  • 如果构建服务帐户已经是您构建盒上的管理员,是否可以关闭 UAC?

标签: code-signing tfsbuild


【解决方案1】:

【讨论】:

    【解决方案2】:

    我也遇到过同样的问题,但使用的是 TeamCity。 Signtool.exe 可以在以管理员身份在命令行中使用时为我的 .msi 签名,但不能从自动构建中签名。

    在 Windows Server 2008、R2 和 2012 中,机器存储证书实际上存储在此文件夹中:

    C:\ProgramData\Microsoft\Crypto\RSA\MachineKeys

    您需要为运行构建服务器的用户授予对该文件夹的 READ 访问权限。

    完成此操作后,再次运行它,您会发现它应该可以正常工作。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-08-17
      • 2011-11-18
      • 1970-01-01
      • 1970-01-01
      • 2014-06-14
      • 1970-01-01
      • 2011-12-13
      相关资源
      最近更新 更多