{[Почти] РЕШЕНО} Вопрос о критериях правильности заполнения полей SSL-сертификата web-сервера
Сертификат фиксирует привязку к доменному имени.
В изначальной интерпретации доменное имя писалось в поле CommonName
(CN
) и на его значение налагалось требование уникальности.
Что, при использовании нескольких серверов, доставляет определённые неудобства.
Первой попыткой решения проблемы было использование метасимвола '*
' в своём изначальном и интуитивно-понятном смысле.
Насколько мне известно, данное решение не было стандартизировано и поддерживалось далеко не всеми клиентами.
Следующим этапом было прописывание доменных имён (DNS
) или IP-адресов (IP
, этот сценарий не пробовал) в поле subjectAltName
блока расширений сертификата.
Одновременно или с минимальной задержкой (согласно wiki Индейца — OpenSSL 0.9.8f [11 Oct 2007], но пользователи XPени на праздник жизни уже не попали) запилили поддержку SSL Name Virtual Hosts.
До недавних пор по крайней мере популярные браузеры поддерживали оба формата (доменное имя можно было прописывать как конкретным значением в CommonName
, так и списком в subjectAltName
).
И тут внезапно выяснилось, что заявляющийся в качестве законодателя мод и стандартов Google Chrome версии 58.0.3029.110 требует указывать доменное имя только в subjectAltName
, игнорируя CommonName
.
Причём современный ему firefox («стабильный», т.е. ESR
, 52.1.0-r1) принимает оба варианта сертификатов.
Вопрос: есть ли в логике гуглохрома что-то сверх очередного этапа гнобления самоподписанных сертификатов?
Итого: Последний оставшийся вопрос скорее исторического характера: о бытии https
до 2000-го года и откуда пошла распространённая практика писать доменное имя сервера в поле CommonName
?
- Для комментирования войдите или зарегистрируйтесь
Вопрос, конечно, интересный,
Вопрос, конечно, интересный, - а у Гугла спросить не пробовал?
В принципе там достаточно адекватный народ, так что я думаю, что ответят по существу.
На самом деле, здесь поводов
На самом деле, здесь поводов возмущаться нет. И так сделать было давно пора. Цитирую RFC 2818 (от 2000 года, промежду прочим):
If a subjectAltName extension of type dNSName is present, that MUST
be used as the identity. Otherwise, the (most specific) Common Name
field in the Subject field of the certificate MUST be used. Although
the use of the Common Name is existing practice, it is deprecated and
Certification Authorities are encouraged to use the dNSName instead.
Переведу выделенное:
Несмотря на то, что использование Common Name - это существующая практика, она устарела и
центрам сертификации рекомендуется использовать dNSName.
Пруфы:
https://groups.google.com/a/chromium.org/forum/#!topic/security-dev/IGT2fLJrAeo
https://www.chromestatus.com/feature/4981025180483584
https://groups.google.com/a/chromium.org/forum/#!topic/security-dev/IGT2fLJrAeo
Нет этапа гнобления самоподписанных сертификатов. Мы все не умрем. Заговора шпионов тоже нет. Просто все приходит в полное соответствие с давно уже разработанным документом.
PS. По второй ссылке добрым словом упомянута также и FireFox.
Пользуясь моментом, хочу передать привет друзьям, которые также пользуются "Моментом"
.
С учётом практики лоббирования (покупки) желаемых стандартов опускать развёрнутое объяснение причин правильности предписания, как и доказательства теоремы про «давно пора» всё же не следовало.
Да и ссылка на сам RFC2818 интереснее обсуждений.
ЗЫ: Про метасимволы оттуда же:
:wq
--
Live free or die
.
Порывшись в журналах припомнилась вторая часть задачи:
С какой версии Индейца отучили ругаться в журнал в ситуации, когда значение
CommonName
используемого сертификата не соответствует рег.выру доменного имени?:wq
--
Live free or die