配置
TLSA 记录生成器
从证书(粘贴或从服务器获取)生成 DANE TLSA 记录,默认的 3 1 1 绑定公钥。
浏览器本地运行 你输入的内容只在本地用 JavaScript 处理,不会上传到 ssl.sh。
TLSA 记录生成器用来生成把 TLS 服务和它的证书或公钥绑定在一起的 DANE 记录。粘贴证书(或从服务器获取),保持推荐的 3 1 1,填好服务的主机名和端口,点 生成,就能得到完整记录和可以直接填进 DNS 控制台的记录值。
怎么用
- 粘贴服务器证书(PEM),或选择 从服务器获取(适用于 465、993 这类直接 TLS 端口)。
- 没有特殊需要,保持默认的
3 1 1(usage 3、selector 1、matching 1)。 - 填服务的主机名和端口,比如
mail.example.com和25。 - 把记录添加到已开启 DNSSEC 的域名里。在 DNS 控制台里,主机记录填
_25._tcp.mail(按控制台要求去掉主域名部分),类型选 TLSA,记录值填3 1 1 <哈希>。
示例:
_25._tcp.mail.example.com. IN TLSA 3 1 1 0c72ac70b745ac19998811b131d662c9ac69dbdbe7cb23e5b514b56664c5d3d6
三个数字的含义
- usage:0 PKIX-TA(CA,同时做常规校验),1 PKIX-EE(服务器证书,同时做常规校验),2 DANE-TA(你指定的信任锚),3 DANE-EE(服务器证书本身)。
- selector:0 整张证书,1 只取公钥(SubjectPublicKeyInfo)。
- matching:0 原文,1 SHA-256,2 SHA-512。
安全地轮换
- 换私钥之前,先生成新私钥对应的记录,与旧记录同时发布。
- 至少等两个 TTL,让解析器都看到新旧两条。
- 部署新证书,再删除旧记录。
DANE 只有在域名签了 DNSSEC、解析器做了校验时才生效。用 STARTTLS 检查测试邮件服务器的 TLS,用私钥匹配工具核对公钥。
常见问题
浏览器会校验 TLSA 吗?
不会,主流浏览器不做 DANE 校验。TLSA 主要用在邮件服务器之间:收件域名开启 DNSSEC 时,Postfix、Exim 和一些大型邮件服务商会检查 SMTP 的 TLSA 记录。
续期证书后记录要改吗?
用 3 1 1 时,只要新证书用同一个私钥就不用改(certbot 加 --reuse-key,其他 ACME 客户端有类似选项)。私钥变了,就先发布新的 TLSA 记录,等旧记录的 TTL 过去再换证书。
国内的 DNS 服务商支持 TLSA 和 DNSSEC 吗?
取决于服务商和套餐,先在控制台确认能添加 TLSA 类型的记录、能开启 DNSSEC,并在域名注册商处提交 DS 记录。没有 DNSSEC,TLSA 记录不会被使用。