Appearance
使用 VSignTool 提取 UKey 代码签名证书并签名
适用于已收到 UKey 和证书提取信息,需要在 Windows 电脑上使用 VSignTool 安装代码签名证书并为应用程序签名的用户。整个流程为:安装驱动和工具 → 提取证书到 UKey → 创建签名规则 → 签名并检查结果。
截图仅供操作参考,界面以您安装的版本为准。
1. 准备工具和提取信息
开始前准备好 UKey、可联网的 Windows 电脑,以及客户经理提供的提取信息。以下两种密码用途不同,请勿混用。
| 信息 | 用途 |
|---|---|
| USB 令牌密码(PIN) | 解锁 UKey。首次使用请填写收到的初始密码;已修改过则使用修改后的密码。 |
| 证书提取密码 | 在“安装代码签名证书”页面提取对应订单的证书,由客户经理提供。 |
安装 UKey 驱动
从 TrustAsia 代码签名驱动下载页面 获取与您的 UKey 型号、Windows 系统匹配的驱动。如无法下载,请联系技术支持获取安装包。
安装完成后插入 UKey,打开驱动管理工具,确认能识别设备。下图为 SafeNet 设备示例;其他型号请使用对应驱动。

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

2. 提取证书到 UKey
提取证书后,证书将安装到 UKey 中,私钥保留在设备内。
- 保持 UKey 插入电脑,启动 VSignTool。
- 进入 证书管理 → 安装新证书。

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

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

如果令牌密码不正确或证书提取失败,请核对密码及提取信息,仍无法解决时联系技术支持。请勿删除设备内容或初始化 UKey,以免丢失已有证书和密钥。
3. 创建签名规则
进入 代码签名 → 签名规则,点击新增按钮,填写并保存规则。
| 设置项 | 填写方法 |
|---|---|
| 规则名 | 自定义,建议包含用途及证书到期月份,便于更新证书时识别。 |
| 签名模式 | 本教程使用单签名,执行签名时选择 SHA256。若有特殊旧系统兼容要求,先确认方案。 |
| 证书 | 选择刚安装的 UKey 证书,核对组织名称及有效期,避免选中测试证书或旧证书。 |
| 文件扩展名 | 按本次待签文件设置;批量签名前确认是否包含子目录、是否跳过已有有效签名。 |
| 时间戳 | 正式发布建议开启,选择可访问且支持所选签名模式的时间戳服务,并测试连通性。 |

请开启图中标出的“时间戳”开关,再保存规则。 可信时间戳可让验证方确认签名发生于证书有效期内,使签名在证书到期后仍可被验证;实际结果还受证书信任、吊销状态和验证策略影响。参见 Microsoft Authenticode 时间戳说明。
若无法访问时间戳服务,请先检查网络或更换可用服务,完成签名和时间戳验证后再发布。
4. 选择文件并开始签名
- 保持 UKey 连接,回到 代码签名 → 进行代码签名。
- 点击“上传文件”或“上传文件夹”,添加本次要签名的文件。
- 选择上一步保存的签名规则,确认签名模式为 SHA256 签名;需要时间戳时使用匹配的 RFC 3161 服务。
- 点击“开始签名”,如提示令牌密码,输入当前 UKey 密码,等待任务完成。

先用一个测试文件确认规则及时间戳正常,再进行批量签名。签名后不要再次修改文件内容,否则需要重新签名。
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 令牌密码、证书提取密码或私钥。
