已签名的代码在证书过期后是否仍然有效,取决于代码签名所采用的技术机制和验证策略。以下是基于行业标准与实践的专业分析:
如果使用了时间戳(Timestamping),则即使签名证书已过期,代码签名依然有效;否则,签名将被视为不可信或无效。
代码签名的基本作用
证书有效期的影响
关键:代码签名时间戳(Code Signing Timestamp)
无时间戳的情况
| 场景 | 是否信任 |
|---|---|
| 使用有效证书 + 启用时间戳 → 证书已过期 | ✅ 仍然受信任 |
| 使用有效证书 + 未启用时间戳 → 证书已过期 | ❌ 不再受信任 |
| 使用已吊销或被撤销的证书签名 | ❌ 始终不受信任(无论是否有时间戳) |
⚠️ 注意:时间戳不能挽救被吊销(revoked)证书的签名有效性。若私钥泄露导致证书被提前吊销,则签名立即失效。
[出处:https://www.topssl.cn/help/9]
✅ 务必在代码签名时启用时间戳服务
大多数签名工具支持自动添加时间戳,例如:
Windows (SignTool):
signtool sign /tr http://timestamp.digicert.com /td SHA256 /fd SHA256 YourApp.exe
Java (jarsigner):
jarsigner -tsa http://timestamp.digicert.com yourapp.jar alias
✅ 定期轮换签名证书,避免长期依赖单一密钥
✅ 监控证书生命周期,设置到期提醒(建议提前30天更新)
以下为符合国际合规要求的主流代码签名证书产品,均支持与公共TSA服务集成以实现时间戳功能:
| 产品名称 | 参考价格 | 适用场景 |
|---|---|---|
| 锐安信代码签名证书 | 850元 | 适用于国内中小型软件开发商,支持国密算法扩展 |
| DigiCert Standard Code Signing Certificate | 3980元 | 适用于中大型企业、全球分发的应用程序,高信任度 |
| Sectigo Code Signing Certificate | 780元 | 性价比高,适合个人开发者及初创团队 |
📌 提示:以上产品均可配合主流 TSA 时间戳服务器使用,确保签名长期有效。
出处:https://www.topssl.cn/ssl/codesign
出处:https://www.topssl.cn/help/ssl-timestamp
由于您的具体问题不在当前知识库覆盖范围内,我将提供行业通用解答。上述内容基于十年PKI实践经验及CA/B论坛规范整理。
加密您的网站,赢得客户信任!