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

SignTool出现内部错误(0x80100001)的解决方法咨询

SignTool出现内部错误(0x80100001)的解决方法咨询

问题描述

我刚把EV代码签名证书安装到Yubikey 5设备上,在VS2022的开发者命令提示符里执行了这条签名命令:

signtool sign /debug /sha1 <***> /fd SHA256 /t http://tsa.safecreative.org C:\temp\my_app.exe

结果遇到了以下错误输出:

The following certificate was selected:

Issued to: ***
Issued by: Sectigo Public Code Signing CA EV E36
Expires: Tue Sep 15 02:59:59 2026
SHA1 hash: <***>

Done Adding Additional Store

SignTool Error: An unexpected internal error has occurred.

Error information: "Error: SignerSign() failed." (-2146435071/0x80100001)

我的运行环境是Windows 10 22H2,Windows SDK版本10.0.22621,请问该如何解决这个问题?谢谢!


专家解答

针对你遇到的这个0x80100001内部错误,结合Yubikey EV证书的使用场景,给你几个实用的排查和解决步骤:

  • 优先检查Yubikey的PIN输入与设备状态
    这个错误很多时候是因为系统调用Yubikey时,PIN输入弹窗没被注意到或者输入超时/错误导致的。你可以先重新插拔Yubikey,确保设备被系统正常识别,然后再次执行签名命令,全程留意是否有PIN输入提示框(可能会被其他窗口遮挡),及时输入正确的PIN试试。

  • 调整SignTool命令参数
    先去掉/debug参数,有时候调试输出可能干扰签名流程;更换时间戳服务器为证书颁发商官方的,比如Sectigo的http://timestamp.sectigo.com,第三方TSA服务器可能存在兼容性问题;另外可以添加/sm参数(指定使用机器证书存储),因为EV证书安装到Yubikey后,机器存储的访问权限更稳定,修改后的命令如下:

    signtool sign /sha1 <***> /fd SHA256 /sm /t http://timestamp.sectigo.com C:\temp\my_app.exe
    
  • 确认证书在Yubikey上的存储有效性
    打开certmgr.msc(用户证书管理器),进入“个人”->“证书”目录,检查你的EV证书是否存在,并且证书的“位置”字段显示为Yubikey相关的硬件存储(比如“智能卡”)。如果找不到证书,需要重新将EV证书导入到Yubikey,导入时务必选择“硬件令牌/智能卡”作为存储位置,而不是本地磁盘。

  • 检查驱动与权限
    确保Yubikey的驱动是最新版本,可以通过YubiKey Manager工具检查并更新;同时用管理员权限打开VS2022开发者命令提示符,签名操作需要足够权限访问硬件设备,普通权限可能会触发内部错误。

  • 尝试更换SignTool版本
    虽然你使用的是较新的Windows SDK,但不同版本的SignTool对硬件令牌的兼容性略有差异。可以试试下载旧版本的Windows SDK(比如10.0.20348),使用其中的SignTool工具重新执行签名命令,看是否能解决问题。

备注:内容来源于stack exchange,提问作者Mihai Oltean

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.21 11:54:32