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

使用MS Sign Tool自签名SignedFileTEST.exe无报错但无反应,求助

解决SignTool执行无报错但签名未生效的问题

1. 先确认签名是否真的未完成

无报错不代表签名成功,先通过两种方式验证:

  • 执行验证命令查看详细信息:
    signtool.exe verify /v /pa "C:\Projects\SignedFileTEST.exe"
    
    /v显示详细输出,/pa检查所有签名(包括嵌套的)
  • 右键SignedFileTEST.exe → 属性 → 数字签名标签,查看是否有签名条目

2. 检查证书是否符合代码签名要求

自签名证书必须是代码签名类型才能用于exe签名:

  • 执行命令查看证书扩展信息:
    certutil -dump "C:\TESTsign.pfx" -p 1230Carlos#
    
    找到Enhanced Key Usage字段,确认包含Code Signing (1.3.6.1.5.5.7.3.3),如果没有,说明你生成的证书类型不对,需要重新生成代码签名类的自签名证书

3. 优化SignTool命令,避免静默失败

给命令添加必要参数,强制输出详细过程并指定标准算法:

cd "C:\Program Files (x86)\Windows Kits\10\App Certification Kit\"
signtool.exe sign /v /fd SHA256 /tr http://timestamp.digicert.com /td SHA256 /f "C:\TESTsign.pfx" /p "1230Carlos#" "C:\Projects\SignedFileTEST.exe"

参数说明:

  • /v:显示签名全过程的详细日志,能定位隐藏问题
  • /fd SHA256:指定文件签名算法为SHA256(SHA1已被Windows弃用)
  • /tr//td:添加时间戳,避免证书过期后签名失效
  • 密码用双引号包裹,确保特殊字符(比如#)被正确解析

4. 排查权限与文件占用问题

  • 必须以管理员身份运行命令提示符,否则可能因权限不足无法写入签名信息
  • 确保SignedFileTEST.exe未被其他程序占用(比如正在调试运行),否则签名无法覆盖写入
  • 确认pfx文件路径和密码完全正确,密码中的特殊字符没有被命令行误解析

5. 处理自签名证书的信任问题

即使签名成功,系统默认不信任自签名证书,会显示"数字签名无效",需要将证书导入信任列表:

certutil -addstore -f "TrustedPublisher" "C:\TESTsign.pfx" -p 1230Carlos#

导入后再查看exe的数字签名,就会显示"此数字签名正常"

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.19 21:05:22