You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何自动化检测code signing certificate(代码签名证书)的过期时间

代码签名证书到期自动化检测方案

证书有效期提取方法

你可以根据自己手里的资源选择对应提取方式,不需要额外采购商业工具:

  • 持有本地证书源文件(.pfx/.p12格式)
    直接用openssl命令提取到期时间,不需要解密私钥:
    openssl pkcs12 -in 你的证书文件路径.pfx -nokeys -clcerts -nodes | openssl x509 -noout -enddate
    命令会输出notAfter=20250615123456Z格式的UTC到期时间,提取时间字段和当前时间做差值即可得到剩余有效期。
  • 检测已签名的二进制文件
    不需要持有证书源文件,直接从公开的安装包中提取签名信息即可:
    • Windows平台exe/msi文件,用PowerShell执行:
      Get-AuthenticodeSignature 你的二进制文件路径 | Select-Object -ExpandProperty SignerCertificate | Select-Object NotAfter
    • macOS平台app/dmg文件,用终端执行:
      codesign -dvvv 你的应用包路径 2>&1 | grep "你的证书主体名" | head -1 | xargs -I {} security find-certificate -c "{}" -p | openssl x509 -noout -enddate
    • Linux平台deb/rpm等安装包,可以用对应包管理的签名查询命令,或者直接提取内嵌的公钥证书用openssl解析。

自动化流程搭建

  • 定时触发:用你团队常用的CI/CD工具设置定时任务即可,常规情况下每周执行1次检测就足够,当剩余有效期小于30天时可以把频率调高到每天1次。
  • 告警规则:建议设置两级告警阈值,剩余有效期小于30天触发普通提醒,小于7天触发紧急提醒,提醒可以直接对接你们常用的办公协作工具、邮件组,不需要人工定期查询。
  • 检测逻辑可以写成几十行的简单Shell/Python脚本,执行后判断剩余有效期是否命中阈值,命中就自动推送通知,全程不需要人工干预。

注意事项

  • 不要把证书私钥上传到定时任务的运行环境,检测只需要用到公钥信息,直接检测公开的已签名二进制文件就可以,避免私钥泄露风险。
  • 如果选择检测已签名二进制文件,每次发布新版本后记得更新检测用的文件路径,避免用旧版本的签名信息做判断。

内容的提问来源于stack exchange,提问作者Anuj Mittal

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.16 10:54:01