You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Azure Trusted Signing时SignTool出现SignerSign()失败错误(0x80070032)

使用Azure Trusted Signing通过signtool签名MSI时出现SignerSign()失败错误(0x80070032)

我在Windows PowerShell中使用Azure Trusted Signing执行signtool签名MSI文件时遇到错误,已确认%ACS_DLIB%和%ACS_JSON%环境变量指向的文件存在且路径正确,执行的命令如下:

.\signtool sign /v /debug /fd SHA256 /tr "http://timestamp.acs.microsoft.com" /td SHA256 /dlib %ACS_DLIB% /dmdf %ACS_JSON% "<待签名文件>.msi" 

命令输出的调试信息显示证书筛选后选中了正确的Azure Trusted Signing证书,但最终报错:

The following certificates were considered:
    Issued to: --
    Issued by: --
    Expires:   Sat Apr 05 06:20:17 2025
    SHA1 hash: some-hash0

    Issued to: A
    Issued by: A
    Expires:   Sun Mar 14 13:41:25 2123
    SHA1 hash: some-hash1

After EKU filter, 1 certs were left.
After expiry filter, 1 certs were left.
The following certificate was selected:
    Issued to: --
    Issued by: --
    Expires:   Sat Apr 05 06:20:17 2025
    SHA1 hash: some-hash0

Done Adding Additional Store
SignTool Error: An unexpected internal error has occurred.
Error information: "Error: SignerSign() failed." (-2147024846/0x80070032)

已完成的排查步骤:

  • 确认dlib和json配置文件路径正确,环境变量引用无误
  • 查看事件查看器,无相关错误事件提供额外上下文
  • 尝试修改MSI的发布者名称为Azure提供的所有相关名称,问题仍未解决
  • 搜索错误码0x80070032未找到对应Azure Trusted Signing的相关解决方案,Azure官方提示仅针对UWP包(.appx/.msix等)的发布者名称匹配问题,不适用于MSI场景

可能的解决方向

  • 检查signtool版本兼容性
    确保使用Windows SDK最新版本中的signtool,Azure Trusted Signing对signtool版本有要求,旧版本可能存在兼容性问题。可通过以下命令查看版本:
.\signtool.exe version

建议更新至Windows 11 SDK或最新的Windows 10 SDK版本。

  • 验证Azure Trusted Signing配置文件权限
    确认%ACS_JSON%指向的配置文件(含Azure服务主体凭据)的权限设置:

    • 当前执行PowerShell的用户需对该文件有读取权限
    • 避免将配置文件放在受UAC保护的目录(如C:\Program Files),可移至用户目录下重试
  • 添加证书强制选择参数
    虽然调试信息显示证书已被选中,但可尝试手动指定证书哈希强制选择目标证书,避免自动筛选的潜在问题:

.\signtool sign /v /debug /fd SHA256 /tr "http://timestamp.acs.microsoft.com" /td SHA256 /dlib %ACS_DLIB% /dmdf %ACS_JSON% /sha1 some-hash0 "<待签名文件>.msi" 

将some-hash0替换为输出中选中的证书SHA1哈希值。

  • 检查MSI文件完整性
    使用msiexec /a "<待签名文件>.msi"尝试提取MSI,确认文件未损坏。若文件损坏,重新生成MSI后再尝试签名。

  • 排查执行环境

    • 以管理员身份运行PowerShell执行签名命令
    • 关闭可能拦截文件操作的安全软件(如杀毒软件、防火墙)后重试

内容的提问来源于stack exchange,提问作者A M

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.21 04:07:32