6.1 Host Name Validation (主机名验证)
应用作者应该注意, 某些 TLS 实现不验证主机名。如果他们使用的 TLS 实现不验证主机名, 作者可能需要编写自己的验证代码或考虑使用不同的 TLS 实现。
需要注意的是, 关于主机名验证 (以及一般来说, TLS 层和其上运行的协议之间的绑定) 的要求在不同协议之间有所不同。对于 HTTPS, 这些要求由 [RFC2818] 的第 3 节定义。
读者可以参考 [RFC6125] 以获取有关 TLS 上下文中通用主机名验证的更多详细信息。此外, 该 RFC 包含一个长的示例协议列表, 其中一些实现了与 HTTPS 非常不同的策略。
如果主机名是间接且以不安全方式发现的 (例如, 通过对 MX 或 SRV 记录的不安全 DNS 查询), 即使它与提供的证书匹配, 也不应该将其用作引用标识符 (reference identifier) [RFC6125]。如果主机名是以安全方式发现的, 则此规定不适用 (有关进一步讨论, 请参阅 [DANE-SRV] 和 [DANE-SMTP])。
主机名验证通常仅适用于叶 "终端实体" 证书。自然地, 为了确保在 PKI 上下文中的适当身份验证, 应用客户端需要根据 [RFC5280] 验证整个证书路径 (另请参阅 [RFC6125])。