Skip to content

使用 VSignTool 提取 UKey 代码签名证书并签名 ​

适用于已收到 UKey 和证书提取信息,需要在 Windows 电脑上使用 VSignTool 安装代码签名证书并为应用程序签名的用户。整个流程为:安装驱动和工具 → 提取证书到 UKey → 创建签名规则 → 签名并检查结果。

截图仅供操作参考,界面以您安装的版本为准。

1. 准备工具和提取信息 ​

开始前准备好 UKey、可联网的 Windows 电脑,以及客户经理提供的提取信息。以下两种密码用途不同,请勿混用。

信息用途
USB 令牌密码(PIN)解锁 UKey。首次使用请填写收到的初始密码;已修改过则使用修改后的密码。
证书提取密码在“安装代码签名证书”页面提取对应订单的证书,由客户经理提供。

安装 UKey 驱动 ​

从 TrustAsia 代码签名驱动下载页面 获取与您的 UKey 型号、Windows 系统匹配的驱动。如无法下载,请联系技术支持获取安装包。

安装完成后插入 UKey,打开驱动管理工具,确认能识别设备。下图为 SafeNet 设备示例;其他型号请使用对应驱动。

SafeNet 驱动管理工具识别到 USB 令牌

安装 VSignTool ​

访问 VSign 官网 下载 VSignTool。如未找到下载入口,请联系技术支持获取安装包。

VSign 官网资源菜单及下载 VSignTool 入口示例

2. 提取证书到 UKey ​

提取证书后,证书将安装到 UKey 中,私钥保留在设备内。

  1. 保持 UKey 插入电脑,启动 VSignTool。
  2. 进入 证书管理 → 安装新证书。

VSignTool 证书管理页面中的安装新证书按钮

  1. 选择您的 UKey,点击“下一步”;弹出“USB 令牌验证”时,输入 USB 令牌密码。
  2. 在“配置来源”页面,按提取信息选择 CA 品牌和签名算法,填写 证书提取密码。阅读订购协议并确认后继续。

下图以 RSA-4096 为例,请按您的证书提取信息选择品牌和算法。

选择证书品牌及算法并填写证书提取密码

  1. 等待证书安装完成,确认出现“证书安装成功”提示。
  2. 返回“证书管理”并刷新,核对组织名称、有效期及证书来源,确认能找到本次安装的 UKey 证书。

证书安装成功提示及导入 UKey 的安装日志

如果令牌密码不正确或证书提取失败,请核对密码及提取信息,仍无法解决时联系技术支持。请勿删除设备内容或初始化 UKey,以免丢失已有证书和密钥。

3. 创建签名规则 ​

进入 代码签名 → 签名规则,点击新增按钮,填写并保存规则。

设置项填写方法
规则名自定义,建议包含用途及证书到期月份,便于更新证书时识别。
签名模式本教程使用单签名,执行签名时选择 SHA256。若有特殊旧系统兼容要求,先确认方案。
证书选择刚安装的 UKey 证书,核对组织名称及有效期,避免选中测试证书或旧证书。
文件扩展名按本次待签文件设置;批量签名前确认是否包含子目录、是否跳过已有有效签名。
时间戳正式发布建议开启,选择可访问且支持所选签名模式的时间戳服务,并测试连通性。

签名规则中的名称、单签名、证书选择及时间戳设置位置

请开启图中标出的“时间戳”开关,再保存规则。 可信时间戳可让验证方确认签名发生于证书有效期内,使签名在证书到期后仍可被验证;实际结果还受证书信任、吊销状态和验证策略影响。参见 Microsoft Authenticode 时间戳说明。

若无法访问时间戳服务,请先检查网络或更换可用服务,完成签名和时间戳验证后再发布。

4. 选择文件并开始签名 ​

  1. 保持 UKey 连接,回到 代码签名 → 进行代码签名。
  2. 点击“上传文件”或“上传文件夹”,添加本次要签名的文件。
  3. 选择上一步保存的签名规则,确认签名模式为 SHA256 签名;需要时间戳时使用匹配的 RFC 3161 服务。
  4. 点击“开始签名”,如提示令牌密码,输入当前 UKey 密码,等待任务完成。

添加待签文件、选择签名规则和 SHA256 签名模式后开始签名

先用一个测试文件确认规则及时间戳正常,再进行批量签名。签名后不要再次修改文件内容,否则需要重新签名。

5. 检查签名结果 ​

确认任务中每个文件的结果,特别留意失败项及时间戳告警。对于 Windows EXE/DLL 文件,可右键打开 属性 → 数字签名,查看签名者并进入“详细信息”,确认签名有效;同时核对是否包含预期的时间戳。

若已安装 Windows SDK SignTool,也可在能调用 signtool 的命令行中验证应用程序签名,将示例路径替换为实际文件路径:

powershell
signtool verify /pa /all /v /tw "C:\release\your-app.exe"

/pa 使用默认 Authenticode 验证策略,/all 验证所有签名,/v 输出详细信息,/tw 在缺少时间戳时发出警告。命令参考:Microsoft SignTool。本步骤用于应用程序签名检查,不代替驱动发布所需的微软认证流程。

常见问题 ​

情况处理方法
驱动或 VSignTool 未识别 UKey检查 USB 连接,确认安装了对应型号驱动,并先在驱动管理工具中确认设备可见。
USB 令牌密码错误使用本次 UKey 的当前密码;不要填写证书提取密码,也不要反复猜测密码。
证书提取失败核对 CA 品牌、算法、提取信息及网络连接;保留错误提示交由技术支持检查。
签名规则中没有目标证书刷新证书管理页面,确认 UKey 仍连接、证书已安装且在有效期内。
时间戳失败检查时间戳服务连通性及代理、防火墙设置,确认服务与签名模式匹配后重试。
已签名但仍出现 SmartScreen 提示查看 软件已签名,为什么仍被 Edge 或 SmartScreen 拦截?。

需要协助时,请提供工具版本、Windows 版本、UKey 型号、失败步骤及脱敏错误截图。请勿发送 USB 令牌密码、证书提取密码或私钥。