云签名代码签名证书申请和使用教程
一、什么是云签名代码签名证书?
代码签名证书是用于验证软件开发者身份、保证代码完整性的数字证书。而云签名代码签名证书是代码签名证书的一种新型交付形态——传统代码签名证书的私钥通常存储在物理硬件令牌(如USB UKey)中,使用时需要插入硬件设备;而云签名证书则将私钥存储在符合FIPS 140-2 L2或同等级别安全标准的云端硬件加密模块(HSM)中,开发者通过手机二次验证(如TOTP动态码、扫码确认)即可远程调用私钥完成签名,无需依赖物理硬件设备。
云签名代码签名证书的核心优势在于:
适配现代开发流程:完美支持CI/CD流水线,无需在多台构建服务器上插拔硬件令牌,可无缝集成GitHub Actions、Jenkins、Azure DevOps等自动化构建平台;
降低管理成本:省去了硬件令牌的采购、邮寄、保管、驱动安装等繁琐流程,支持多用户、多部门共享使用,避免物理设备的分配冲突;
安全等级不降低:私钥始终存储在云端HSM中,不会导出到本地磁盘,每次签名都需要手机端二次验证,满足CA/B Forum对EV代码签名证书的硬件密钥保护要求;
部署速度快:审核通过后即可在线激活使用,无需等待硬件邮寄,最快当天即可开始签名。
二、申请前的准备工作
在申请云签名代码签名证书前,需要明确自身需求并准备好相关材料,避免审核过程中反复补充导致时间延误。
1. 确定证书类型
目前代码签名证书主要分为两类,云签名形态主要应用于EV代码签名证书:
OV代码签名证书(组织验证):验证企业基本信息,适用于普通桌面软件、办公工具、移动应用等场景,审核周期1-3个工作日,支持企业或个人申请;
EV代码签名证书(扩展验证):验证等级最高,审核更严格,是Windows内核驱动开发、WHQL微软徽标认证的硬性门槛,签名后可即时获得Windows SmartScreen信任,消除“未知发布者”警告,仅支持企业申请,审核周期3-5个工作日。
如果你的软件涉及内核驱动分发、需要提交微软Hardware Dev Center进行认证,或者希望软件安装时立即获得系统信任,必须选择EV代码签名证书;如果是普通商业软件、内部工具,OV证书即可满足需求。
2. 准备申请材料
不同证书类型所需材料不同,建议提前准备好以下文件,确保所有信息与工商登记信息完全一致:
OV证书通用材料:有效期内的营业执照副本彩色扫描件、法人身份证正反面扫描件、企业域名邮箱(个人邮箱无效)、工商备案的联系电话;非法人办理时,还需提供经办人身份证正反面扫描件及加盖公章的授权委托书。
EV证书额外材料:近3个月企业增值税发票或银行对账单、办公地址证明(如水电费账单、租房合同,地址需与营业执照一致)。
三、云签名代码签名证书申请流程
以目前市场上最成熟的Certum云签名EV代码签名证书为例,完整申请流程如下:
1. 选择申请渠道
Certum在中国大陆无直营机构,需通过certum中国官方授权服务商ssldun.cn申请,这些服务商提供中文界面、本地化材料预审和技术支持,可大幅降低审核驳回概率。
2. 注册账号并选型下单
在授权服务商官网使用企业邮箱注册账号并完成实名认证,进入代码签名证书专区,选择云签名EV代码签名证书及合适的有效期(自2026年3月1日起,代码签名证书最长有效期缩短至460天,需提前规划续费周期),生成订单并完成支付。
3. 生成CSR文件
在等待审核的同时,开发者需要在本地生成密钥对和证书签名请求(CSR)文件。Windows开发者可使用makecert.exe工具,Linux/macOS开发者可通过OpenSSL命令生成,生成时需注意密钥长度不低于2048位,CSR中的企业信息需与营业执照完全一致。生成后需妥善保管私钥文件,切勿泄露。
4. 提交材料并配合验证
通过服务商后台上传准备好的企业资质材料,服务商会先进行本地化预审,排查信息准确性问题后再提交至Certum官方。Certum会通过国家企业信用信息公示系统交叉验证企业真实性,拨打企业公开电话确认申请意愿,发送验证邮件至企业域名邮箱,整个审核周期通常为1-5个工作日。
5. 激活云签名服务
审核通过后,Certum会将证书签发并存储于云端HSM中,同时向申请人邮箱发送激活码邮件和激活链接邮件。激活步骤如下:
在PC端安装SimplySign Desktop客户端,手机端下载SimplySign APP(支持iOS/Android);
打开激活链接页面,输入激活码获取二维码;
手机端打开SimplySign APP,选择“Activate application”→“Other activation methods”→“QR code”,扫描PC端页面的二维码完成绑定;
手机端点击“Generate Token”生成动态验证码,完成证书激活。
四、云签名代码签名证书使用教程
激活完成后,即可通过云签名方式对软件进行数字签名,以下是Windows平台的使用步骤:
1. 配置签名环境
登录SimplySign Desktop客户端,输入企业邮箱和手机端生成的Token密码,在证书列表中找到证书的SHA1指纹,记录下来备用。
2. 执行代码签名
Windows平台使用系统自带的SignTool.exe工具(包含在Windows SDK中)进行签名,命令格式如下:
signtool sign /v /fd sha256 /sha1 [证书指纹] /tr http://timestamp.sectigo.com /td sha256 [文件路径]
参数说明:
/fd sha256:指定使用SHA-256哈希算法,是目前行业标准的签名算法;
/sha1 [证书指纹]:指定要使用的云签名证书;
/tr和/td sha256:添加RFC3161时间戳,这是非常重要的步骤——添加时间戳后,即使证书后续到期,已签名的软件仍然可以被系统验证为有效,避免因证书过期导致用户安装失败;
[文件路径]:需要签名的可执行文件路径,支持.exe、.dll、.msi、.sys、.ocx、.cab等多种文件格式。
如果是批量签名,可以编写脚本遍历文件夹下的所有目标文件,依次执行签名命令;如果接入了CI/CD流水线,可以将签名命令集成到构建脚本中,每次打包完成后自动触发云签名,只需在流水线中配置手机端二次验证的确认环节即可。
3. 验证签名结果
签名完成后,可使用以下命令验证签名是否成功:
signtool verify /v /pa [文件路径]
如果输出“签名有效”“时间戳有效”等信息,说明签名成功。你也可以右键点击签名后的文件,选择“属性”→“数字签名”,查看签名者信息、时间戳等详情,确认企业信息正确显示。
五、使用注意事项
手机端绑定限制:SimplySign手机客户端仅限一台设备安装,换设备需先解绑原设备,否则无法激活;
签名配额限制:云版EV证书通常有每月5000次签名的上限,高频打包的团队需提前规划流水线,避免超出配额;
私钥安全:虽然私钥存储在云端HSM中,但仍需保护好手机端的二次验证设备,避免手机丢失导致证书被滥用;登录SimplySign Desktop后切勿删除证书,否则无法找回;
驱动签名特殊要求:如果需要对Windows内核驱动进行签名,需先在微软Hardware Dev Center账号中关联EV证书,再进行attestation或HLK提交,普通OV证书无法满足驱动签名的硬性要求;
续费提醒:代码签名证书有效期最长460天,建议提前60天发起续期申请,避免因证书过期影响软件分发。
六、总结
云签名代码签名证书解决了传统硬件令牌在现代化开发流程中的痛点,既满足了最高级别的安全合规要求,又大幅提升了签名效率,特别适合有多平台构建需求、频繁交付的团队。申请时只需选择正规授权服务商,准备好企业资质材料,按照流程完成验证和激活,即可快速投入使用,为你的软件加上可信的数字签名,消除用户的安全警告,提升软件的分发效率和品牌信任度。
