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

如何使用Yubico YubiKey实现EV代码签名自动化?

YubiKey 5 EV代码签名自动化解决方案

问题分析

你遇到的0x80090005错误是参数不匹配导致的:YubiKey使用的Microsoft Smart Card Key Storage Provider属于KSP(密钥存储提供程序),而非传统CSP,你用的/kc参数是针对CSP密钥容器的,不适用于KSP;同时/f指定公证书无法关联YubiKey上的私钥,触发权限验证失败。

解决步骤

1. 替换正确的signtool命令

放弃/f和/kc参数,改用证书哈希+KSP参数直接定位YubiKey上的密钥:

signtool sign /sha1 <证书SHA1哈希值> /csp "Microsoft Smart Card Key Storage Provider" /k "<密钥容器名称>" /v <待签名文件路径>
  • 证书SHA1哈希:执行certutil -store My查看YubiKey证书的SHA1哈希字段
  • 密钥容器名称:执行certutil -scinfo获取,格式通常为YubiKey PIV #X(X为插槽号)

2. 自动化PIN输入(避免交互)

在构建流水线执行签名前,预先缓存YubiKey的PIN:

# 用certutil缓存PIN,有效期可通过参数调整
certutil -scpin <你的YubiKey PIN>

该操作会在系统中临时缓存PIN,确保流水线执行期间无需手动输入。

3. 验证环境配置

  • 确认YubiKey已被系统识别:在设备管理器的智能卡阅读器下可见YubiKey设备
  • 确认证书加载正常:执行certutil -store My能看到EV代码签名证书,且容器字段指向YubiKey

额外注意事项

  • 构建机器需安装YubiKey Minidriver(YubiKey Manager自带),确保系统能正确识别KSP
  • 流水线执行账户需拥有访问智能卡的权限,可在本地安全策略中配置智能卡登录权限

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.09 15:57:13