术语表

ACME (自动证书管理环境)

最后核实

定义

ACME 是 IETF 标准协议(RFC 8555),让软件自动向 CA 证明域名控制权,并自动申请、续期和吊销证书。

ACME(Automatic Certificate Management Environment,自动证书管理环境)最初为 Let's Encrypt 设计,2019 年标准化为 RFC 8555。流程是:客户端注册账户密钥,为一个或多个域名创建订单,针对每个授权完成质询(HTTP-01、DNS-01 或 TLS-ALPN-01),提交 CSR 完成订单,最后下载证书链。每个请求都是用账户密钥签名的 JWS。

为什么重要

ACME 把证书从“每年手工折腾一次”变成了后台自动任务,这正是缩短证书有效期得以落地的前提。按 SC-081v3 投票,最长有效期 2026-03-15 起降为 200 天,2027-03-15 起 100 天,2029-03-15 起 47 天,域名验证复用期也将缩到 10 天,手工操作根本跟不上。除 Let's Encrypt 外,很多 CA 都提供 ACME 接口,通常要求外部账户绑定(EAB)。ARI(RFC 9773)、证书 Profile 等扩展也都建立在同一协议之上。宝塔面板等工具里的“申请 Let's Encrypt 证书”,底层同样是 ACME。

例子

# Certbot,webroot 模式
certbot certonly --webroot -w /var/www/html -d example.com -d www.example.com

# acme.sh 写法类似
acme.sh --issue -d example.com -d www.example.com -w /var/www/html

国内常用的 acme.sh 默认 CA 是 ZeroSSL,如需改用 Let's Encrypt,可执行 acme.sh --set-default-ca --server letsencrypt。

常见误区

  • ACME 就是 Let's Encrypt。 它是开放的 IETF 标准,许多免费和商业 CA 都实现了它。
  • ACME 客户端必须装在网站服务器上。 用 DNS-01 加 DNS API 密钥,可以在另一台机器上申请证书再分发部署。
  • 配好 ACME 就再也不会过期。 DNS 变更、防火墙或频率限制都可能让续期失败,仍然需要监控证书到期时间。

延伸阅读