GlobalSign 新闻 & 分享

什么是自动证书管理环境的行业标准协议?

分类:ACME

时间:2026-06-29

什么是自动证书管理环境的行业标准协议?

在说自动证书管理环境的行业标准协议之前我们先了解两个问题:
1. SSL/TLS 证书管理的自动化到底是怎么实现的?
2. 在这背后,ACME 协议作为行业标准,扮演了什么角色?

解决完这两个问题,你会发现本质上是 ACME 协议在帮你工作。

一、证书管理的痛点:手动操作的极限在哪里?

在任何自动化出现之前,SSL/TLS 证书管理是这样的:

•手动生成 CSR(证书签名请求)
•填写冗长的申请表单,提交到 CA 网站
•通过邮件或电话完成域名验证
•下载证书文件,手动上传到每台服务器
•到期前人工检查并重新申请,稍不注意就过期中断
•全流程依赖人工记忆和操作,容易出错,无法规模化

⚠️一张证书,这个流程也许还行。但如果你的企业有 300 张证书分布在 100 台服务器上呢?

答案是:不可持续。

二、证书管理自动化的演进:从脚本到协议

面对以上痛点,业界逐步探索了多种自动化方式。它们的演进大致可以分成三个阶段:

阶段一:自己写脚本

运维人员用 Shell / Python 脚本串起 CA 的 API,自动申请和续期证书。

•优点:灵活,可以按自己的需求定制
•缺点:每个 CA 的 API 不一样,换 CA 就得重写脚本;脚本质量参差不齐,维护成本高

阶段二:使用第三方工具

开源社区出现了 Certbot、acme.sh 等工具,封装了证书的申请、部署和续期流程。

•优点:功能完善,有文档,比自己写脚本靠谱
•缺点:工具的后端对接具体 CA,切换 CA 仍然需要调整配置;没有统一的标准化行为

阶段三:标准化协议——ACME

这正是本文要讲的重点。IETF 于 2019 年发布了 RFC 8555,即 ACME 协议。

•它定义了一套统一的标准接口:任何 CA 只要实现这个接口,任何客户端只要遵循这个协议,就能互相通信
•你不再需要为 Let’s Encrypt 写一套脚本、为 GlobalSign 写另一套脚本——同一套 ACME 客户端可以对接所有支持 ACME 的 CA

阶段
代表性方案
换 CA 的成本
维护门槛
写脚本
Bash/Python + CA API
高,需重写脚本
用工具
Certbot / acme.sh / Caddy
中,需修改配置
标准化协议
ACME(RFC 8555)
低,改一行 URL
极低

看到这里,你应该理解了一件事:证书管理自动化并非只有 ACME 一种方式,但 ACME 是当前唯一的行业标准协议。它让自动化从「各家自建」变成了「全行业通用」。

三、ACME 协议是什么?走进 RFC 8555

3.1 协议定义

ACME(Automatic Certificate Management Environment,自动证书管理环境)是由互联网工程任务组(IETF)于 2019 年 3 月正式发布的互联网标准协议,编号 RFC 8555。它的全称就是本文标题的答案——「自动证书管理环境的行业标准协议」。

ACME 协议的核心能力:

•域名验证:自动证明申请者对域名的控制权(通过 HTTP-01 / DNS-01 / TLS-ALPN-01 三种挑战方式)
•证书申请:客户端(如 Certbot)和 CA 服务器通过标准化的 JSON-over-HTTPS 接口交互
•证书颁发:CA 验证通过后,自动签发证书
•自动续期:到期前自动重新验证并获取新证书,全程无需人工介入

3.2 ACME 协议的历史演进

时间
里程碑
2014 年 11 月
Let’s Encrypt 项目宣布成立,目标是为全网提供免费 SSL 证书
2015 年
ACME 协议草案首次公开,用于 Let’s Encrypt 的自动化证书签发
2019 年 3 月
IETF 正式发布 RFC 8555,ACME 成为互联网行业标准
2020 年起
主流商业 CA(包括 GlobalSign、DigiCert 等)陆续宣布支持 ACME 协议

四、ACME 协议的工作原理

ACME 协议的核心机制可以分解为以下步骤:

步骤
操作描述
技术细节
1. 注册账户
客户端在 ACME 服务端创建账户
生成 RSA/ECDSA 密钥对,用于后续请求签名
2. 提交订单
客户端发起证书申请,指定域名列表
发送 JSON 请求,包含待验证域名列表
3. 接收挑战
服务端返回一系列挑战(Challenges)
每个域名至少需要完成一种挑战类型
4. 完成挑战
客户端按指定方式证明域名控制权
详见下方三种挑战类型说明
5. 提交 CSR
挑战通过后,客户端提交证书签名请求
包含公钥和主题信息
6. 获取证书
服务端签发证书并返回
通常同时下发域名证书和中间 CA 证书链

4.1 三种域名验证挑战类型

挑战类型
验证方式
适用场景
端口要求
HTTP-01
CA 访问 http://域名/.well-known/acme-challenge/<token>
公网可访问的 Web 服务器
80 端口
DNS-01
在 DNS 解析中添加 TXT 记录 _acme-challenge.域名
无法开放 80 端口/通配符证书/内网
无需端口
TLS-ALPN-01
在 TLS 443 端口使用特定 ALPN 协议响应
仅需 443 端口/TLS 代理场景
443 端口

三种方式中,DNS-01 最灵活:它不要求服务器对外开放 HTTP 访问,也能申请通配符证书(*.example.com)。

五、主流 ACME 客户端一览

客户端
语言
适用范围
典型命令
Certbot
Python
通用 Linux / Apache / Nginx
certbot certonly --nginx -d example.com
acme.sh
Shell
Linux / macOS,零依赖
acme.sh --issue -d example.com --webroot /var/www
win-acme
C#
Windows / IIS
图形化 + 命令行,Windows 首选
lego
Go
跨平台,无外部依赖
lego --email admin@x.com --dns cloudflare run
Caddy
Go
内置 ACME,Web 服务器一体
自动申请和续期,零配置

六、ACME 协议 vs 传统手动证书管理

对比维度
传统手动方式
ACME 协议
申请方式
登录 CA 网站填写表单
命令行一行搞定
域名验证
邮件/电话/DNS 手动添加记录
HTTP-01/DNS-01 自动完成
证书部署
手动下载 .crt 文件并上传服务器
客户端自动安装到服务器
续期流程
记到期日期,提前手动申请
crontab + 客户端自动续期
出错率
高(忘记续期/配置错误)
极低(全自动化)
适用规模
1-10 张证书尚可
数百至数千张证书轻松管理
是否免费
多数商业 CA 收费
Let’s Encrypt 完全免费;商业 CA 也支持 ACME

✅ 典型运维场景对比:

100 台服务器 x 每个 3 张证书 = 300 张证书。
手动方式:每人每天处理 5 张,需要 60 个工作日。
ACME 协议:一次配置,全自动运行,只需要一个 crontab。

七、Let’s Encrypt 免费 vs 商业 CA 的 ACME 服务

提到 ACME 协议,很多人第一反应是 Let’s Encrypt。但 ACME 不止于免费证书。

特性
Let’s Encrypt
GlobalSign Atlas(支持 ACME)
证书类型
DV(域名验证)
DV + OV(组织验证)
有效期
90 天
最长 200天
品牌认同
无品牌标识
GlobalSign 品牌,全球 99% 浏览器信任
技术支持
社区支持
7x24 企业级技术支持
适用场景
个人/小企业/测试环境
企业官网、电商、金融机构、API 网关
合规审计
符合ISO 27001 审计要求

结论:如果你的业务需要 OV 级别验证、企业品牌展示和合规审计,选择支持 ACME 协议的商业 CA(如 GlobalSign Atlas)是更稳妥的方案。

八、企业级 ACME 实践场景

场景 1:Kubernetes 集群自动证书管理

在 K8s 中,cert-manager 是最常用的 ACME 集成方案:

apiVersion: cert-manager.io/v1kind: ClusterIssuermetadata:  name: globalsign-issuerspec:  acme:    server: https://acme.globalsign.com/v2/    privateKeySecretRef:      name: acme-account-key    solvers:    - dns01:        cloudflare:          email: admin@example.com

场景 2:CI/CD 流水线自动签发

在 CD 部署阶段通过 ACME 自动申请、部署证书,实现 IaC(基础设施即代码)。
•GitHub Actions / GitLab CI / Jenkins 集成 acme.sh 或 lego
•部署前自动获取证书,部署完成后验证 TLS 生效
•配合 DNS-01 挑战,不依赖服务器公网暴露

场景 3:多云/混合云统一管理

企业部署在 AWS、Azure、GCP、私有云等多平台时,通过 GlobalSign 的 ATLAS / Certificate Automation Manager 统一管理 ACME 证书,实现:
•跨云统一签发策略
•集中化到期监控和告警
•统一审计日志和合规报告

九、常见问题(FAQ)

Q1:ACME 协议只能用 Let’s Encrypt 吗?

不是。ACME 是开放标准。除 Let’s Encrypt 外,GlobalSign(通过 Atlas 平台)、DigiCert、Sectigo 等商业 CA 均已支持 ACME 协议。只要 CA 提供 ACME 端点,任何兼容客户端都能对接。

Q2:ACME 申请的证书有效期是多久?

取决于 CA 策略:
•Let’s Encrypt:90 天
•GlobalSign Atlas(通过 ACME 协议):最长 199 天
•部分 CA 支持更短有效期以符合 Apple 的证书透明度政策

Q3:DNS-01 挑战安全吗?API 密钥如何保管?

DNS-01 需要 DNS 服务商的 API 密钥来添加 TXT 记录。最佳实践:
•使用最小权限原则:API 密钥仅授予 DNS 记录读写权限,不授予其他管理权限
•存储于密钥管理服务中(如 HashiCorp Vault、AWS Secrets Manager)
•定期轮换 API 密钥

Q4:内网环境能用 ACME 协议吗?

可以。使用 DNS-01 挑战方式,服务器无需对外暴露 HTTP 端口。只需满足:ACME 客户端能访问 CA 的 ACME 端点(HTTPS 出站),以及 DNS API 可被调用。

十、为什么 ACME 协议是证书管理的未来?

ACME 协议的核心价值:

1. 标准化:RFC 8555,全行业遵循的统一接口
2. 自动化:从申请到续期全流程零人工介入
3. 安全性:基于密码学挑战的域名验证,比人工审核更可靠
4. 规模化:一张证书和一万张证书的管理成本几乎没有差别
5. 选择自由:同一套客户端,可在免费 CA 和商业 CA 之间自由切换

在 TLS 证书有效期持续缩短、证书数量指数级增长的趋势下,ACME 协议已经成为现代 IT 基础设施的标配——不是可选,而是必须。

👉 了解 GlobalSign Atlas 如何通过 ACME 协议实现证书管理自动化,请访问 globalsign.cn。

访问 GlobalSign 页面 →

相关推荐

  • 最新
  • TLS/SSL
  • 代码签名
  • eIDAS
  • ACME
  • 数字证书
  • 自动化