URLhttps://www.info.ucl.ac.be/~pvr/ds/受 TLS 保护。Mozilla Firefox 报告其证书由
CN = TERENA SSL CA 2
O = TERENA
L = Amsterdam
ST = Noord-Holland
C = NL
命令“openssl”报告
$ openssl s_client -connect www.info.ucl.ac.be:443
(skipped)
---
Certificate chain
0 s:/C=--/ST=SomeState/L=SomeCity/O=SomeOrganization/OU=SomeOrganizationalUnit/CN=testwww2.info.ucl.ac.be/[email protected]
i:/C=--/ST=SomeState/L=SomeCity/O=SomeOrganization/OU=SomeOrganizationalUnit/CN=testwww2.info.ucl.ac.be/[email protected]
---
不同的发行人。这怎么可能呢?
答案1
其实很简单:SNI – 服务器名称指示。这是一个扩展,允许客户端将服务器名称传递到 TLS 握手。这与基于名称的虚拟主机(单个 IP 地址上的多个域)允许服务器为不同的主机名提供不同的证书。OpenSSL 的 s_client 默认在握手中不包含主机名。
以下命令产生预期的结果:
openssl s_client -connect www.info.ucl.ac.be:443 -servername www.info.ucl.ac.be
该服务器似乎托管了多个网站,其中一个是(默认网站)仅用于内部测试,自签名证书正常。