# certum云签名代码签名证书（SimplySign）：为CI/CD而生

> 对于CI自动签名，硬件卡模式不仅不是必须的，反而会带来诸多麻烦；云端方案（SimplySign）才是更合适的选择，但需要一些额外的配置才能实现自动化。 硬件卡模式在CI中的现实困境 硬件卡模式在CI环境中会面临几个难以绕开的挑战： 物理连接要求：必须有一台自托管的GitHub/GitLab Runn

- 原文: https://www.ssldun.com/article/prproblem-607.html
- 栏目: 常见问题
- 发布: 2026-11-04
- 更新: 2026-11-04
- 关键词: 常见问题,SSL证书,Certum,代码签名
- 引用政策: https://www.ssldun.com/citation-policy.html

## 正文

对于CI自动签名，硬件卡模式不仅不是必须的，反而会带来诸多麻烦；云端方案（SimplySign）才是更合适的选择，但需要一些额外的配置才能实现自动化。
硬件卡模式在CI中的现实困境
硬件卡模式在CI环境中会面临几个难以绕开的挑战：
物理连接要求：必须有一台自托管的GitHub/GitLab Runner，并物理连接USB硬件令牌。
远程操作限制：proCertum CardManager无法通过远程桌面运行，只能在机器控制台或VNC下操作，增加了管理复杂。
PIN码输入难题：CI自动化时，如何自动输入固定的PIN码是一个核心挑战。
驱动与配置繁琐：需要在每台构建机上安装驱动，并进行复杂的证书与私钥关联修复。
云端方案（SimplySign）：为CI/CD而生
Certum的云端方案SimplySign从设计上就对CI/CD更友好，它免去了物理读卡器和随身UKey的维护负担。
官方定位：Certum将SimplySign定位为“对CI/CD场景更友好”的解决方案，支持与自动化系统轻松集成。
工作原理：通过SimplySign Desktop在PC端模拟一个虚拟加密设备，签名时由云端HSM执行，signtool可自动调用其CSP驱动完成签名。
如何实现SimplySign的CI自动化
默认情况下，SimplySign需要手动输入手机App上的TOTP动态验证码，这确实会中断CI流程。但可以通过以下方法实现自动化：
核心思路：SimplySign的验证二维码本质是一个标准的otpauth:// URI，其中包含了TOTP密钥。
实现方法：可以将这个URI作为环境变量存储在CI系统中，在流水线中通过脚本（如PowerShell）程序化生成TOTP验证码并自动填入，从而完成认证。
替代方案：也可考虑搭建一个本地签名代理，在安全环境内手动完成一次SimplySign登录，再通过API为CI提供服务。
如何获取 TOTP 密钥？
方案一：激活环节提取 TOTP 密钥（推荐，CI/CD 全自动用）
证书审核通过，Certum 会发激活邮件，里面有链接，点开网页生成
激活二维码
（这个页面同时包含 TOTP secret）
不要直接拿手机 SimplySign 扫码
，先用二维码解析工具读取这个 QR 码内容
QR 内容格式类似 
otpauth://totp/xxx?secret=BASE32密钥
把 
secret=
 后面那串 base32 字符串提取出来，
这就是你的 TOTP 密钥
拿到密钥后，再用手机 SimplySign 扫描同一个二维码完成账号绑定
把这个 base32 密钥存入 CI 的安全 secret（GitHub Actions Secrets / GitLab CI 变量），脚本里用 pyotp、oathtool 等动态生成 6 位验证码
重要：
这个二维码只能用一次，24 小时有效期
；一旦扫码激活，密钥固定不变。如果密钥泄露，可联系ssldun重新发送激活邮件生成新二维码，旧密钥直接作废。
方案二：不提取 TOTP 密钥（不想动密钥，更安全，适合企业）
不拿 secret，用
签名代理方案
，不用在 CI 里自动生成 TOTP：
一台常驻 Windows 机器，安装 SimplySign Desktop，手机 APP 保持登录授权（授权后保持 2 小时签名会话，可以定时续期）
在这台机器搭建本地签名代理服务
CI 流水线只把待签名文件上传到代理服务器，由代理调用 signtool 完成签名 ✅ 优点：
永远不用导出 TOTP 密钥
，密钥不会泄露到 CI 环境； ❌ 缺点：需要长期在线 Windows 主机，多了一层运维。
硬件卡和云端方案对比
硬件卡模式：需要物理USB令牌并自托管Runner，远程操作受限，PIN码自动输入困难，适合低频手动签名。云端方案 (SimplySign)：无需物理硬件，官方支持CI/CD集成，可通过程序化TOTP实现自动化，适合高频自动化CI/CD。
总结与建议
如果你要在CI中实现自动签名，应优先选择云端方案（SimplySign）。硬件卡模式在自动化环境中会带来不必要的物理和管理负担。
对于云端方案，自动化TOTP验证是可行的，但务必妥善保管TOTP密钥，它等同于你的第二因素认证凭证。
