代码签名证书买回来,最终目的不是"拥有一张证书",而是让软件能顺利完成签名和验证。所以在下单前,兼容性问题比价格更值得先确认。这篇把需要核对的四项——平台、签名工具、时间戳、发布流程——逐项说明。

一、可签名的文件类型
Certum 代码签名证书可用于常见的软件文件签名场景:
Windows 可执行程序(.exe);
Windows 安装包(.msi);
动态链接库(.dll);
Java 程序(.jar);
其他受相应签名工具支持的软件文件,同时覆盖 Office 文档与 VBA 宏项目。
需要单独说明:驱动类文件不能直接用代码签名证书签名。微软已不支持第三方代码签名证书直接为驱动签名,需走 WHQL 方案,并须使用微软认可名单内 CA 签发的 EV 代码签名证书。
二、签名工具链的支持情况
Certum 代码签名证书支持常见的软件签名工具,例如微软 SignTool,可满足多数 Windows 软件开发场景;云签名方式同样可配合 SignTool、Jarsigner 等命令行工具使用,便于接入已有的构建与发布流水线。
但要注意:不同开发环境、不同自动化流程之间可能存在差异。纯软件层的工具差异通常在联调阶段就能暴露,真正容易踩坑的是交付方式——见下一节。
三、交付方式决定环境适配能力
USB Token(本地硬件):私钥在实体设备中,签名时需插 USB 口。适用:完全离线环境、签名量大、对私钥物理管控有硬性要求。
云签名(SimplySign):私钥在云端受控的硬件密码模块中保管,本地通过 SimplySign Desktop 连接云端虚拟加密卡,配合手机端验证后签名,无需实体 UKey。适用:远程协作、多地点办公、需要在虚拟机或 CI 中打包的团队。
两点边界要提前知道:云签名依赖网络与 SimplySign 应用,完全离线或无人值守的大规模自动化签名需提前评估;云签名默认每月 5,000 次,超出后需要联系环度网信获取相应的解决方案,而本地化硬件(如 eToken)没有这个次数限制。
按 CA/Browser Forum《代码签名基线要求》,私钥保护按场景分两档:云签名服务须至少符合 FIPS 140-2 Level 3 或 CC EAL4+;订阅者自管的硬件密码模块最低为 FIPS 140-2 Level 2 或 CC EAL4+。Certum 云签名产品标注的密钥存储要求为 FIPS 140-2 Level 3 或 CC EAL4+。
四、时间戳服务:让签名长期可验证
时间戳用于证明"签名发生在证书有效期内"。在证书正常有效、签名与时间戳符合验证要求且无撤销等问题的情况下,即使证书后来到期,之前的签名通常仍可通过验证。建议所有正式发布的文件都启用时间戳。
同时提醒:代码签名证书的最长有效期已大幅缩短(当前约 460 天以内),到期需要重新签发。如果采购两年或三年期服务,应在服务期内按规定完成重新签发并预留操作时间。
五、购买前建议确认的四项
开发语言与编译环境:能否直接调用签名工具,是否需要签名脚本;
发布平台:是否需要上架应用市场、是否需要提交 WHQL;
签名频率:是否触及云签名的月额度;是否需要在 CI 中反复签名;
网络与安全策略:签名机是否可联网,企业对私钥保管方式有无硬性规定。
六、一个容易误解的预期
有开发者以为签完名就不会再被安全软件拦。需要说清楚:代码签名证书解决的是 Windows 的"未知发布者"提示;SmartScreen 的拦截与警告是另一套机制,取决于下载量、发布者信誉与风险模型的积累,与证书档次无关。EV 证书也不再享有过去直接绕过 SmartScreen 的便利。
七、常见问题
云签名能用命令行工具吗?可以,可配合 SignTool、Jarsigner 等常见工具使用。
云签名的私钥会下载到本地吗?不会,私钥始终在云端受控模块中,本地只发起签名请求。
签名后文件被改动会怎样?数字签名验证会出现异常,这正是签名保护完整性的作用。
签名能证明软件安全吗?不能。签名证明发布者身份与文件完整性,不代表软件没有安全风险,也不替代安全检测。
需要办理可以直接在上海环度信息科技有限公司的官方网站上在线提交申请,我们收到后会尽快安排处理。
本文基于 Certum 官方资料与公开信息整理,不构成法律意见;次数限制、有效期等规定可能随官方政策调整,办理前请以官方与授权渠道的当期说明为准。

