摘要:ACME 是用于自动化证书验证、申请及相应管理的协议,不是某个免费证书品牌,也不等于完整部署系统。理解账户、订单、授权挑战和签发结果之间的关系,有助于企业选择验证方式、准备 GlobalSign ACME 接入,并判断一次更新究竟停在申请还是安装环节。
手工申请证书时,维护人员填写信息、证明域名控制权、提交请求,再领取证书。ACME 将其中适用的交互写成客户端与 CA 都能理解的协议,让程序可以重复完成这些步骤。
IETF RFC 8555 定义了 ACME 的核心流程。它不是一家 CA 的专属功能,也不是“免费证书”的同义词;收费方式、证书产品和审核要求由具体服务决定。企业使用 GlobalSign 的相应 ACME 服务时,仍需准备所选服务要求的身份与验证条件。
一次请求是怎样向前推进的
可以从一个客户端为api.example.com 申请证书的过程理解 ACME。这里是协议说明,不是具体客户案例。
客户端首先与服务端建立相应账户关系,再创建包含申请标识的订单。服务端给出需要满足的授权条件,客户端按可用方式完成挑战。授权满足后,客户端提交CSR,将需要的公钥与请求绑定,最后获取签发结果。
| 流程对象 | 解决的问题 |
| 账户 | 客户端以什么协议身份与服务端交互 |
| 订单 | 这一次具体申请哪些标识及相应结果 |
| 授权与挑战 | 如何证明有权为相应标识申请 |
| CSR 与最终请求 | 本次证书对应哪个公钥及请求参数 |
| 证书获取 | 取得可用于后续安装的证书材料 |
这个过程说明了两个容易混淆的地方:ACME 账户密钥与业务证书私钥用途不同;协议账户已经注册,也不表示每个业务域名都已验证。排查时应按对象与状态区分,不能只看客户端最后输出的一行文字。
挑战方式要适合现有环境
HTTP-01 通常需要客户端能够按要求在 HTTP 指定路径提供响应;DNS-01 则需要发布相应 DNS 记录。通配符及其他需求还受具体服务与挑战规则约束,不应将两种方式视为完全可互换。
选择时,要看谁能维护验证条件。DNS 由另一支团队管理而没有可维护的变更路径,脚本本身无法解决这个组织问题;HTTP 入口经过网关和多节点时,也要确认验证请求能够到达正确响应位置。
GlobalSign ACME 可配合适用的预先验证与身份配置。若申请 OV、EV 等相应产品,应先确认组织身份等前置条件,不能把挑战完成理解为取消组织审核。
企业接入时还要准备账户绑定
按 GlobalSign 的 ACME 接入文档,企业需要适用的 Atlas 配置、APIKey ID 与 MAC Key 等信息,完成外部账户绑定 EAB,并使用正确的服务目录地址。
这里的 MAC Key 用于相应绑定过程,不是要放进网站证书的私钥。秘密信息应安全保存,不能写在公开仓库、截图或普通工单中。测试服务和正式服务的目录、凭据及身份也需要分别核对,避免在测试成功后直接复制配置上线。
选择客户端时,还应确认它能配合现有系统完成验证、密钥生成和结果保存。协议统一了交互,不意味着所有客户端对每种平台、插件与部署动作都具有相同能力。
自动续期仍要有人确认最后一步
ACME 客户端取得新证书后,企业还需要将证书安装到实际服务,并在必要时重载或更新绑定。这些动作可能由客户端插件、管理工具或受控部署脚本完成,不能因为使用 ACME 就假定已经覆盖。
例如,证书写入新目录,Web 服务却仍指向旧文件;或者负载均衡完成更新,另一个节点没有处理。签发记录可能完全正常,用户仍会看到旧证书。这类问题应沿着安装与生效路径排查,不是反复重新注册 ACME 账户。
因此,自动续期的完成条件应包括目标入口返回预期新证书,而不只是订单状态有效。失败时保留订单与错误信息,按阶段处理,并安排人工接手,才能让协议带来的重复执行能力真正进入业务维护。
FAQ
Q1:用了 ACME,是否就只能申请 DV 免费证书?
A:不是。ACME 是协议,产品、费用及验证要求取决于 CA 服务。企业应核对所开通产品,不用协议名称推定采购模式。
Q2:ACME 账户密钥与服务器 SSL 私钥是一回事吗?
A:不是。前者用于相应协议账户交互,后者对应业务证书中的公钥,密钥管理与轮换应分别安排。
Q3:订单已经有效,为什么浏览器还看到旧证书?
A:继续检查安装、绑定、重载和其他节点。签发结果并不直接证明线上服务已经使用它。
Q4:客户端支持 DNS-01,就不用维护 DNS 权限了吗?
A:仍需合法、可用且受控的操作权限。插件只能执行获准的变更,不能替代权限、审批和凭据维护。
关于 GlobalSign ACME
GlobalSign 提供与 Atlas 相应证书服务结合的 ACME 接入路径,支持企业使用兼容客户端组织适用的自动申请。实施重点是将身份、验证、凭据与部署连接起来,并通过真实业务入口验证更新,而不是只确认客户端能够运行。
资料来源
IETF RFC 8555 ACME
https://www.rfc-editor.org/rfc/rfc8555
GlobalSign ACME 接入指南
https://docs.globalsign.com/solutions/services/clm/acme/getting-started