CERT 查询
查询 CERT 记录以获取存储在 DNS 中的证书信息
本页提供关于 SSL/TLS 证书检查的原创、经人工审校的内容,解释证书链、有效期、SAN,以及证书过期或域名不匹配对 SMTP 与 HTTPS 的影响。
CERT (Certificate) records are DNS resource records that store certificates and related cryptographic information in the Domain Name System. They enable the distribution of certificates through DNS infrastructure, providing an alternative method for certificate discovery and validation.
核心组成部分:
- 类型:指定证书格式(1 为 PKIX,2 为 SPKI,3 为 PGP 等)
- 密钥标签:用于标识证书的短数字值
- 算法:使用的加密算法(RSA、ECDSA 等)
- 证书:实际证书数据(二进制格式)
CERT 记录的工作原理:
- 应用程序向 DNS 查询特定域名的 CERT 记录
- DNS 服务器返回可用的证书信息
- 客户端使用标准 PKI 流程验证证书
- 证书可用于加密、认证或数字签名
基本 CERT 记录配置:
证书类型:
类型 1 - PKIX(X.509)
用于 TLS/SSL 的标准 X.509 证书
类型 2 - SPKI
简单公钥基础设施(SPKI)证书
类型 3 - PGP
用于邮件加密的 PGP 公钥
未找到 CERT 记录
The domain has no CERT records configured in DNS.
解决方案:将 CERT 记录添加到 DNS 区域文件或 DNS 管理界面。
证书格式无效
The certificate data is not properly base64 encoded or is corrupted.
解决方案:验证证书编码,确保 base64 格式正确。
密钥标签不匹配
The key tag in the CERT record doesn't match the actual certificate.
解决方案:使用证书的公钥重新计算密钥标签。
证书过期
The certificate stored in the CERT record has expired.
解决方案:用新的有效证书更新 CERT 记录。
DNS 传播延迟
CERT record changes may take time to propagate across DNS servers.
Solution: Wait 24-48 hours for full propagation or use lower TTL values.
CERT 记录被广泛支持吗?
CERT 记录在 RFC 4398 中定义,但并未被应用程序广泛采用。大多数系统仍依赖 TLS 握手或证书库等传统证书分发方式。
CERT 记录与 TLSA 记录有什么区别?
TLSA 记录(RFC 6698)用于基于 DNS 的命名实体认证(DANE)并指定证书约束,而 CERT 记录存储实际证书数据。TLSA 记录更常用于 TLS 证书验证。
可以在 CERT 记录中存储多个证书吗?
可以。同一域名可以有多条 CERT 记录,每条包含用于不同用途(如 TLS、邮件加密、代码签名)的证书。
CERT 记录的最大大小是多少?
CERT 记录受 DNS 消息大小限制。UDP 通常为 512 字节,但 EDNS0 可以扩展。大型证书可能需要使用 TCP,或采用引用方式而非直接嵌入。
如何计算证书的密钥标签?
密钥标签根据证书公钥使用特定算法计算。对于 RSA 密钥,通常是密钥模数的最后 16 位。OpenSSL 等工具可以帮助计算该值。
生产系统应该使用 CERT 记录吗?
CERT 记录主要处于实验阶段,未被应用程序广泛支持。对于生产系统,建议使用成熟的证书分发方式,并使用 TLSA 记录进行证书验证。
