Skip to content

renew —— 续期证书 ​

对已签发的证书发起续期。证书配置中开启 renew.auto_cert 后,cron 命令会自动执行续期。

  • 续期判定:按以下顺序判定,命中即续期:
    1. -f 强制:忽略续期窗口,直接续期
    2. 证书已过期:立即续期
    3. renew.days_before 大于 0:剩余天数达到该提前量时续期,不请求 ARI;提前量超过证书总有效期时,按第 5 项的比例判据兜底
    4. renew.days_before 等于 0(默认)且平台给出 ARI 建议窗口:进入建议窗口即续期;平台未给出建议窗口时,按第 5 项判定
    5. 剩余有效期比例(兜底判据):剩余有效期不足总有效期的 1/3 时续期
  • 私钥策略:每次续期都生成新私钥,新证书下载完成后才替换现役私钥;续期中断时,现役私钥保持不变。

续期窗口:优先使用 ARI

ARI(Automated Renewal Information,自动续期信息,RFC 9773) 是 CA 通过 ACME 协议发布建议续期窗口的机制,客户端按 CA 建议的时间续期,可平滑 CA 侧的签发负载并及时响应 CA 的调度调整。

保持 renew.days_before 为默认值 0 即使用 ARI,推荐优先使用该方式;需要固定提前天数时,再将 renew.days_before 设置为大于 0 的值,此时不再请求 ARI。

用法 ​

bash
certiman renew [flags]

参数 ​

flag短名类型默认说明
--domain-d[]string选择器:按主域名指定
--conf-cstring选择器:证书配置文件路径
--allboolfalse批量处理所有 renew.auto_cert=true 的证书(与选择器 -d / -c 互斥)

示例 ​

bash
# 续期单张证书(未到窗口时幂等跳过)
certiman renew -d example.com

# 忽略续期窗口强制续期
certiman renew -d example.com -f

# 批量续期所有开启自动续期的证书
certiman renew --all

# 手动指定证书配置文件
certiman renew -c /etc/certiman/shop-cert.yaml

输出 ​

0未进入续期窗口(示例)
text
» example.com 未进入续期窗口(未到 ARI 建议续期窗口),剩余 199 天
0触发续期
text
» example.com 在订单服务期内,本次续期不额外计费
» example.com 续期已发起
» 持久验证仍在有效期内,跳过重新配置验证材料
✔ 证书已保存到 ~/.certiman/cc/certs/example.com
-----BEGIN CERTIFICATE-----
MIIFxTCCBK2gAwIBAgIQ...(叶子证书,此处省略)
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
MIIEsTCCA5mgAwIBAgIQ...(中间证书,此处省略)
-----END CERTIFICATE-----
项目        内容
证书        example.com
域名        example.com
状态        已签发
订单        TYDwETAS
证书 ID     hR2mQvXc
证书到期    2027-08-22
剩余        380 天
已下载      2026-08-07
部署        —
自动续期    ✓
数据时间    2026-08-07T10:12:35Z(本地副本)
证书目录    ~/.certiman/cc/certs/example.com
i 未配置部署脚本(deploy hook)。
如需自动部署,在 cert.yaml 中配置 `deploy`,或运行 `certiman deploy -d example.com`。
✔ 本次已完成,当前无需处理

相关命令 ​

  • issue —— 首次申请证书
  • cron —— 定时批量续期