1

URL https://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/emailAddress=root@testwww2.info.ucl.ac.be
   i:/C=--/ST=SomeState/L=SomeCity/O=SomeOrganization/OU=SomeOrganizationalUnit/CN=testwww2.info.ucl.ac.be/emailAddress=root@testwww2.info.ucl.ac.be
---

Разные эмитенты. Как это вообще возможно?

1 ответ1

3

На самом деле все просто: SNI - индикация имени сервера. Это расширение, которое позволяет клиенту передавать имя сервера вместе с рукопожатием TLS. Это в сочетании с виртуальным хостингом на основе имен (несколько доменов на одном IP-адресе) позволяет серверу представлять разные сертификаты для разных имен хостов. OpenSL s_client по умолчанию не включает имя хоста в рукопожатие.

Следующая команда дает ожидаемый результат:

openssl s_client -connect www.info.ucl.ac.be:443 -servername www.info.ucl.ac.be

Этот сервер, по-видимому, содержит несколько веб-сайтов, один из которых (веб-сайт по умолчанию) используется только для внутреннего тестирования, где самозаверяющие сертификаты являются нормальными.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .