CA/B 论坛投票 · SC-033
SC-033:TLS-ALPN 验证取代旧的方法 10
详细信息
- 投票
- SC-033
- 标题
- TLS Using ALPN Method
- 状态
- 通过
- 日期
- 2020-08-14
- 通过
- 生效
- BR 版本
- 1.7.2
- 官方页面
- cabforum.org
关键日期
- 方法 3.2.2.4.20“TLS Using ALPN”可用;方法 10 停用
SC-033 让 ACME 的 TLS-ALPN-01 验证有了正式依据。2020 年它用遵循 RFC 8737 的新方法 3.2.2.4.20,取代了定义含糊的验证方法 3.2.2.4.10:CA 连接你服务器的 443 端口,检查在 acme-tls/1 这个 ALPN 协议下提供的特殊证书。
改了什么
SC-033 删除了方法 10,新增方法 20“TLS Using ALPN”。方法 10“TLS Using a Random Number”是 ACME TLS-SNI-01 验证的实现基础。2018 年 1 月该验证被披露存在漏洞:在共享主机上,一个用户可以拿到另一个用户域名的证书。部分浏览器随即禁止在未加缓解措施时使用方法 10,IETF 则把基于 ALPN 的修复方案标准化为 RFC 8737。投票还限定新方法只验证实际验证的那个完整域名:其他子域名要重新验证,也不允许通配符,因为投票认为验证整个子域名更适合用基于 DNS 的方法。提案来自 Mozilla,Let's Encrypt 和 DigiCert 附议。
生效日期
基线要求修改于 2020-09-22 生效,方法 10 没有过渡期。
影响谁
使用支持 tls-alpn-01 的 ACME 客户端的用户,比如自己在 443 端口响应验证的服务器和反向代理。用 HTTP-01 和 DNS-01 的用户不受影响。国内不少服务器因未备案等原因无法开放 80 端口,tls-alpn-01 是只开 443 时的一个选择(acme.sh 支持 --alpn 模式)。
该怎么做
80 端口关闭而 443 可访问、且软件支持时,可以用 tls-alpn-01。要申请通配符证书,请用 DNS-01。原理见 ACME 协议详解。