Какой формат использовать для полей CN и DNS в SSL-сертификате для IDN?

Если мне выдан сертификат SSL для домена IDN, должен ли я ожидать, что значение в поле CN будет буквальной строкой UTF-8 для имени домена или экранированной версией punycode?

А как насчет DNS-записей альтернативного имени субъекта X509v3, будут ли они в том же формате?

Могу ли я увидеть некоторые примеры файлов crt или ссылку на IDN, использующие SSL?

Есть ли нормативная спецификация на этот счет?


person kch    schedule 29.05.2012    source источник


Ответы (1)


Предполагая, что вы говорите о HTTPS, правила, традиционно используемые для проверки имени хоста, определены в RFC 2818. , Раздел 3.1, в котором интернационализированные доменные имена вообще не упоминаются.

Совсем недавно был написан «лучший практический» RFC, RFC 6125, для согласования процедур проверки имени хоста между протоколами и уточнения ряда других моментов. Вот что говорится об IDN (раздел 6.4.2):

 If the DNS domain name portion of a reference identifier is an
 internationalized domain name, then an implementation MUST convert
 any U-labels [IDNA-DEFS] in the domain name to A-labels before
 checking the domain name.  In accordance with [IDNA-PROTO], A-labels
 MUST be compared as case-insensitive ASCII.  Each label MUST match in
 order for the domain names to be considered to match, except as
 supplemented by the rule about checking of wildcard labels
 (Section 6.4.3; but see also Section 7.2 regarding wildcards in
 internationalized domain names).

К сожалению, это может не помочь вам на практике. Во-первых, RFC 6125 появился относительно недавно, и, насколько мне известно, немногие приложения или библиотеки заявляют о его реализации. Во-вторых, не все библиотеки в любом случае следуют RFC 2818 буквально (например, иногда браузеры могут быть более терпимыми в отношении того, какие CN являются приемлемыми).

person Bruno    schedule 30.05.2012
comment
Есть новости по этому поводу с 30 мая 2012? Мне нужен сертификат SSL для домена IDN, и мне интересно, следует ли мне вводить имя UTF-8 или имя punycode в CN и т. д. в запросе сертификата. - person Kjell Rilbe; 31.10.2012