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

如何阻止signtool签名EXE文件时弹出智能卡请求提示?

解决EV签名时多余智能卡提示的方案

问题根源

系统中残留了智能卡相关的驱动、服务,或signtool的/a参数会枚举所有证书存储(包括智能卡容器),导致即使未连接硬件,也触发了智能卡读卡器检测提示。

具体解决步骤

1. 替换/a参数,精准指定签名证书

/a参数是自动搜索证书的根源,改为直接定位证书的方式:

  • 打开certmgr.msc,找到你的GlobalSign EV证书,右键→属性→详细信息,复制指纹字段的值(需去除所有空格)
  • 修改签名命令为:
signtool sign /sha1 <你的证书指纹> /tr http://timestamp.globalsign.com/tsa/r6advanced1 /td SHA256 /fd SHA256 %1
  • 可选:若证书在个人存储区,添加/store MY参数进一步缩小查找范围:
signtool sign /sha1 <你的证书指纹> /store MY /tr http://timestamp.globalsign.com/tsa/r6advanced1 /td SHA256 /fd SHA256 %1

2. 禁用冗余的智能卡服务

按下Win+R输入services.msc,找到以下服务并设置为禁用:

  • Smart Card
  • Smart Card Removal Policy
  • 若系统中存在Broadcom相关的智能卡服务,同样禁用

禁用后重启电脑,再执行签名命令测试。

3. 清理残留的智能卡驱动

打开设备管理器(Win+X→设备管理器):

  • 点击查看→显示隐藏的设备
  • 找到智能卡阅读器分类,右键卸载所有未使用/未知的设备,并勾选“删除此设备的驱动程序软件”

4. 用证书主题名称定位证书

如果记不住指纹,也可以用证书的主题名称(如你的公司全称)指定:

signtool sign /n "你的公司名称" /tr http://timestamp.globalsign.com/tsa/r6advanced1 /td SHA256 /fd SHA256 %1

验证

执行修改后的签名命令,观察是否还会弹出智能卡请求提示。若问题仍存在,建议更新Windows SDK至最新版本,旧版signtool可能存在存储枚举的逻辑漏洞。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.15 01:45:13