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

如何解决SignTool签名exe时“无符合条件证书”的错误?

解决SignTool找不到符合条件证书的问题

你遇到的SignTool Error: No certificates were found that met all the given criteria错误,核心原因是系统中没有可用的代码签名证书,/a参数无法自动匹配到有效证书。以下是具体解决方法:

1. 获取代码签名证书

代码签名证书分两类,按需选择:

  • 商业证书:从正规CA机构(如DigiCert、GlobalSign)购买,这类证书被Windows系统默认信任,能彻底解决其他电脑拦截的问题。
  • 自签名证书:用Windows自带工具生成,仅适合内部测试或个人使用,其他电脑需手动信任证书才能避免拦截。

2. 生成自签名证书并完成签名的步骤

步骤1:生成自签名证书

打开PowerShell,执行以下命令(替换CN=后的内容为你的名字或组织名称):

New-SelfSignedCertificate -Type CodeSigningCert -Subject "CN=你的名称" -CertStoreLocation Cert:\CurrentUser\My

执行后会返回证书的Thumbprint(一串十六进制字符),复制保存这个指纹。

步骤2:使用signtool签名程序

将刚才复制的指纹替换到命令中,执行签名:

& "C:\Program Files (x86)\Windows Kits\10\App Certification Kit\signtool.exe" sign /fd SHA256 /sha1 你的证书指纹 "C:\Users\D-UC\Documents\POP-CHAT\POP-CHAT.exe"

如果signtool路径不正确,可先用where signtool命令查找正确路径。

步骤3:让其他电脑信任自签名证书

  • 导出证书:在PowerShell中执行(替换指纹):
Export-Certificate -Cert Cert:\CurrentUser\My\你的证书指纹 -FilePath C:\temp\MyCodeSignCert.cer
  • 将导出的.cer文件发送到目标电脑,双击打开后点击“安装证书”,选择“本地计算机”,然后将证书导入到“受信任的根证书颁发机构”存储区,完成后程序就不会被拦截。

3. 关键注意事项

  • 自签名证书无法用于公开分发的程序,仅适合内部测试场景,公开传播必须使用CA颁发的商业证书。
  • 签名时务必指定/fd SHA256参数,这是当前Windows系统要求的安全哈希算法。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.28 17:02:50