解码 SSL 证书服务器名称解析
了解 SSL 证书解析对于建立安全通信至关重要。让我们探讨您的问题并提供全面的答案。
SSL 证书的服务器名称解析
RFC 2818 和 RFC 6125 定义 SSL 证书的主机名验证。如果缺少“dNSName”主题备用名称 (SAN),则使用通用名称 (CN) 字段。然而,CN 的使用已被弃用,而 SAN 是首选。
浏览器行为与 Java 机制
浏览器通常以不同的方式处理基于 CN 的服务器名称,即使在以下情况下也允许连接CN 与域不匹配。另一方面,Java 严格遵守 RFC,仅接受 SAN 或匹配的 CN。
使用 Keytool 添加备用名称
Java 的 keytool 现在包括“- ext”选项,用于将 SAN 添加到证书。使用“-ext san=dns:www.example.com”或“-ext san=ip:10.0.0.1”包含所需的备用名称。
OpenSSL 作为替代
如果您不想使用 keytool,可以使用 OpenSSL 来实现此目的。通过修改 openssl.cnf 或设置环境变量“OPENSSL_CONF”,您可以配置 OpenSSL 以在证书中请求 SAN。
OpenSSL 的示例配置
在 openssl 中。 cnf,在“[req]”和“[v3_req]”下添加以下内容部分:
[req] req_extensions = v3_req [ v3_req ] subjectAltName=IP:10.0.0.1 # or subjectAltName=DNS:www.example.com
替代环境变量技巧
或者,您可以设置环境变量来指定 SAN。详情请参阅http://www.crsr.net/Notes/SSL.html。
以上是SSL 证书服务器名称解析如何工作?的详细内容。更多信息请关注PHP中文网其他相关文章!