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

使用YubiKey 5 NFC签名EXE时遇SignerSign()失败错误求助

EV代码签名证书(YubiKey 5 NFC)签名EXE失败问题排查与解决

问题描述

从ssl.com购买EV签名证书,使用YubiKey 5 NFC完成证书加载及认证操作后,certmgr中可见该证书,但签名EXE时出现以下错误:

  • 未安装YubiKey智能卡minidriver:Error: SignerSign() failed. (-2146435068/0x80100004)
  • 安装驱动后:Error: SignerSign() failed. (-2146435071/0x80100001),偶发UI提示The smartcard cannot perform the requested operation

已尝试的无效操作

  • 重新创建认证并重新安装证书到YubiKey
  • 重置YubiKey PIV至默认设置后重复证书安装流程
  • 安装/卸载YubiKey智能卡minidriver,测试两种状态下的签名效果
  • 通过命令行、YubiKey Manager及SSL.com Manager完成认证与证书安装
  • 在Windows 11和Windows 10系统上重复所有操作

无效的旧参考方案

  • Yubico 2020年Windows代码签名旧文:2023年后要求私钥在YubiKey PIV内生成,旧方案已不适用
  • Yubico 2018年GitHub Issue中的方法:早于YubiKey 5发布,无实际帮助

针对性排查与解决步骤

  1. 确认PIV密钥槽匹配
    确保EV证书安装在YubiKey的9c数字签名槽,而非9a身份认证等其他槽位。通过YubiKey Manager查看PIV槽的密钥与证书关联状态,槽位混用会导致签名权限不足。

  2. 验证私钥生成方式
    2023年后EV代码签名要求私钥必须在硬件安全模块内生成,禁止导入外部私钥。使用YubiKey Manager检查9c槽的私钥状态为Generated,若为Imported需重新在YubiKey内生成CSR,向ssl.com重新申请证书。

  3. 调整签名工具参数
    使用signtool签名时添加/sm参数指定智能卡,示例命令:

    signtool sign /fd SHA256 /sm /n "证书主体名称" /t http://timestamp.digicert.com your.exe
    

    仅保留最新版YubiKey官方智能卡minidriver,卸载其他第三方智能卡驱动避免冲突。

  4. 检查Windows智能卡服务
    按下Win+R输入services.msc,确保Smart Card服务处于启动状态,启动类型设为Automatic。服务异常时重启后重新插拔YubiKey。

  5. 验证证书链完整性
    在certmgr中检查EV证书的证书链,确保根证书与中间证书均已正确安装,缺失中间证书会导致签名身份验证失败。

  6. 测试智能卡连接状态
    使用certutil -scinfo命令检测YubiKey状态,查看输出是否包含EV证书的私钥与证书信息。优先使用USB直连替代NFC,避免无线连接干扰。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.26 23:54:58