# ACME（自动证书管理环境）是什么？定义、例子与常见误区

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

Source: https://ssl.sh/zh/glossary/acme/
Last updated: 2026-11-10

ACME（Automatic Certificate Management Environment，自动证书管理环境）最初为 [Let's Encrypt](https://ssl.sh/zh/glossary/let-s-encrypt/) 设计，2019 年标准化为 [RFC 8555](https://www.rfc-editor.org/rfc/rfc8555)。流程是：客户端注册账户密钥，为一个或多个域名创建订单，针对每个授权完成质询（[HTTP-01](https://ssl.sh/zh/glossary/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 接口，通常要求[外部账户绑定](https://ssl.sh/zh/glossary/eab/)（EAB）。ARI（RFC 9773）、证书 Profile 等扩展也都建立在同一协议之上。宝塔面板等工具里的“申请 Let's Encrypt 证书”，底层同样是 ACME。

## 例子
```bash
# 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 变更、防火墙或频率限制都可能让续期失败，仍然需要监控证书到期时间。

## 相关术语

- [Let's Encrypt](https://ssl.sh/zh/glossary/let-s-encrypt/): Let's Encrypt 是由非营利组织 ISRG 运营的免费、自动化证书颁发机构，通过 ACME 协议签发域名验证型 TLS 证书。
- [HTTP-01](https://ssl.sh/zh/glossary/http-01/): HTTP-01 是一种 ACME 验证方式，客户端通过 80 端口以普通 HTTP 提供 CA 指定的令牌内容来证明域名控制权。
- [DNS-01](https://ssl.sh/zh/glossary/dns-01/): DNS-01 是一种 ACME 验证方式，客户端在 _acme-challenge 子域名下发布由 CA 质询计算出的 TXT 记录来证明域名控制权。
- [TLS-ALPN-01](https://ssl.sh/zh/glossary/tls-alpn-01/): TLS-ALPN-01 是一种 ACME 验证方式，服务器在 443 端口针对 acme-tls/1 协议出示一张特殊证书来证明域名控制权。
- [EAB](https://ssl.sh/zh/glossary/eab/): EAB 即外部账户绑定，是 ACME 的一项功能，用 CA 提供的密钥 ID 和 HMAC 密钥把新 ACME 账户关联到你在该 CA 的已有客户账户。
- [ARI](https://ssl.sh/zh/glossary/ari/): ARI 是 ACME 的扩展标准（RFC 9773），由 CA 告诉客户端某张证书应该在哪个时间窗口内续期。
- [ACME Profile](https://ssl.sh/zh/glossary/acme-profile/): ACME Profile 是 CA 在 ACME 目录中公布的命名证书模板，客户端下单时选择它来决定证书的有效期和内容。
- [证书续期](https://ssl.sh/zh/glossary/certificate-renewal/): 证书续期是在证书到期前申请一张新证书来替换它，最好全自动完成并同时更换密钥对。
