Summary

  • IETF 10 月 27 日发布的 dns-account-01 第 04 版正在接受 IESG Last Call,截止 11 月 10 日。草案给每个 ACME 账户单独的 DNS 验证名,使同一域名的不同证书系统能够分别委派 CNAME。
  • 新名称取账户 URL 的 SHA-256 前十字节,再编码为 Base32。换账户密钥不改名;服务器迁移若改动账户 URL,预先配置的 DNS 名称就可能失效。

冲突发生在 dns-01 的 _acme-challenge。同一个名称可以放多个 TXT 值,但两支独立团队若都想用 CNAME 把验证交给自己的系统,一个 DNS 名称只能指向一个 CNAME 目标。跨云部署看起来分散,发证控制却挤在同一个委派点。

IETF 10 月 27 日草案把账户写进名称计算过程:对完整 ACME 账户 URL 做 SHA-256,截取前十字节,以 Base32 编码,再放到 _acme-challenge 前。草案实例为 _ujmmovf2vn55tgye._acme-challenge.example.org。不同账户因此各有一个可委派的名称。服务器沿 CNAME 查询 TXT,并核验挑战令牌对应的密钥授权摘要。分离发生在 DNS 控制面,而不是证书签发完成后补一张表。

代价藏在第 3.5 节。账户 URL 的协议、主机、端口和路径都参与计算。账户换密钥,名称不变;ACME 服务换主机而改动账户 URL,旧名称可能全部需要重新配置。草案要求服务器尽量保持账户标识,必要迁移时继续接受旧 kid URL。IETF 跟踪页显示第 04 版处于 IESG Last Call,目标状态为 Proposed Standard。

公开材料还缺少实际支持此挑战的服务器与客户端清单,以及一次保留账户 URL 的真实迁移记录。