Discussion:
IDN commonName in X.509 certificates
(слишком старое сообщение для ответа)
Victor Sudakov
2010-03-08 15:20:37 UTC
Permalink
Коллеги,

Если я хочу сделать/запросить SSL сертификат для сайта
судаков.tomsk.ru или там кошки.рф, в каком виде должно быть IDN в
сертификате? В utf-8 или в punycode, и почему?

TIA.

И чтобы два раза не вставать. Какие будут приниматься меры, чтобы не
выдавали сертификаты на gооgle.com (AKA xn--ggle-55da.com) наряду с
google.com ?
--
Victor Sudakov, VAS4-RIPE, VAS47-RIPN
2:5005/***@fidonet http://vas.tomsk.ru/
Serguei E. Leontiev
2010-03-08 16:47:19 UTC
Permalink
Здравствуй Victor,

Victor Sudakov @ пн 8-мар-10 18:20 MSK:

VS> Если я хочу сделать/запросить SSL сертификат для сайта
VS> судаков.tomsk.ru или там кошки.рф, в каком виде должно быть IDN в
VS> сертификате? В utf-8 или в punycode, и почему?

Собственно сертификаты TLS серверов для HTTPS регламентируются RFC 2818
(HTTP over TLS), которое ссылается на RFC 2459, который заменён на RFC
5280 (Internet X.509...), которое определят dNSName как IA5String
содержащее IDNs и ссылается п. 4 RFC 3490
<http://tools.ietf.org/html/rfc3490#section-4>.

Относительно устаревшей формы использования компонента "Common Name", то
разъяснений не дождёшься. Дело тёмное, надо посмотреть документацию
производителей, Microsoft, Apple, Mozilla и т.п. Думаю, либо
функциональность аналогична dNSName, либо IDN нельзя использовать в
"Common Name".

VS> И чтобы два раза не вставать. Какие будут приниматься меры, чтобы не
VS> выдавали сертификаты на gооgle.com (AKA xn--ggle-55da.com) наряду с
VS> google.com ?

А разве по RFC 3940 xn--ggle-55da.com является допустимым DNS именем?
--
Успехов, Сергей Леонтьев. E-mail: ***@CryptoPro.ru <http://www.cryptopro.ru>
Victor Sudakov
2010-03-09 10:19:29 UTC
Permalink
Post by Serguei E. Leontiev
VS> Если я хочу сделать/запросить SSL сертификат для сайта
VS> судаков.tomsk.ru или там кошки.рф, в каком виде должно быть IDN в
VS> сертификате? В utf-8 или в punycode, и почему?
Собственно сертификаты TLS серверов для HTTPS регламентируются RFC 2818
(HTTP over TLS), которое ссылается на RFC 2459, который заменён на RFC
5280 (Internet X.509...), которое определят dNSName как IA5String
содержащее IDNs и ссылается п. 4 RFC 3490
<http://tools.ietf.org/html/rfc3490#section-4>.
"the dNSName field, which is defined as type IA5String.

IA5String is limited to the set of ASCII characters. To accommodate
internationalized domain names in the current structure, conforming
implementations MUST convert internationalized domain names to the
ASCII Compatible Encoding (ACE) format as specified in Section 4 of
RFC 3490 before storage in the dNSName field."

Если судить по этому абзацу, то должно быть в виде punycode.
Post by Serguei E. Leontiev
Относительно устаревшей формы использования компонента "Common Name", то
разъяснений не дождёшься. Дело тёмное, надо посмотреть документацию
производителей, Microsoft, Apple, Mozilla и т.п. Думаю, либо
функциональность аналогична dNSName, либо IDN нельзя использовать в
"Common Name".
VS> И чтобы два раза не вставать. Какие будут приниматься меры, чтобы не
VS> выдавали сертификаты на gооgle.com (AKA xn--ggle-55da.com) наряду с
VS> google.com ?
А разве по RFC 3940 xn--ggle-55da.com является допустимым DNS именем?
По RFC3490 ты хотел сказать? А почему нет, по этому RFC оно IMHO вполне
является допустимым, т.к. представляет собой результат валидного
ToASCII преобразования.

Политиками регистратора такое смешение языков может быть запрещено, но
кто уследит за соблюдением запрета в доменах 3-уровня и т.д. Вон
http://судаков.tomsk.ru у меня есть, кто помешает завтра Пупкину
зарегистрировать "сyдаков" с латинской "y" и оформить на него
сертификат?
--
Victor Sudakov, VAS4-RIPE, VAS47-RIPN
2:5005/***@fidonet http://vas.tomsk.ru/
Serguei E. Leontiev
2010-04-08 07:14:41 UTC
Permalink
Здравствуйте, Victor,

Вы писали к ***@sai.msu.ru (Serguei E. Leontiev) от Tue, 9 Mar 2010 10:19:29
+0000 (UTC):

VS>>> Если я хочу сделать/запросить SSL сертификат для сайта
VS>>> судаков.tomsk.ru или там кошки.рф, в каком виде должно быть IDN в
VS>>> сертификате? В utf-8 или в punycode, и почему?

??>> Собственно сертификаты TLS серверов для HTTPS регламентируются RFC
??>> 2818 (HTTP over TLS), которое ссылается на RFC 2459, который заменён
??>> на RFC 5280 (Internet X.509...), которое определят dNSName как
??>> IA5String содержащее IDNs и ссылается п. 4 RFC 3490
??>> <http://tools.ietf.org/html/rfc3490#section-4>.

VS> "the dNSName field, which is defined as type IA5String.

VS> IA5String is limited to the set of ASCII characters. To accommodate
VS> internationalized domain names in the current structure, conforming
VS> implementations MUST convert internationalized domain names to the
VS> ASCII Compatible Encoding (ACE) format as specified in Section 4 of
VS> RFC 3490 before storage in the dNSName field."

VS> Если судить по этому абзацу, то должно быть в виде punycode.

??>> Относительно устаревшей формы использования компонента "Common Name",
??>> то разъяснений не дождёшься. Дело тёмное, надо посмотреть документацию
??>> производителей, Microsoft, Apple, Mozilla и т.п. Думаю, либо
??>> функциональность аналогична dNSName, либо IDN нельзя использовать в
??>> "Common Name".

VS>>> И чтобы два раза не вставать. Какие будут приниматься меры, чтобы не
VS>>> выдавали сертификаты на gооgle.com (AKA xn--ggle-55da.com) наряду с
VS>>> google.com ?

??>> А разве по RFC 3940 xn--ggle-55da.com является допустимым DNS именем?

VS> По RFC3490 ты хотел сказать? А почему нет, по этому RFC оно IMHO вполне
VS> является допустимым, т.к. представляет собой результат валидного
VS> ToASCII преобразования.

Если я правильно его прочитал, то в DNS всегда должен использоваться флаг
UseSTD3ASCIIRules.

VS> Политиками регистратора такое смешение языков может быть запрещено, но
VS> кто уследит за соблюдением запрета в доменах 3-уровня и т.д. Вон
VS> http://судаков.tomsk.ru у меня есть, кто помешает завтра Пупкину
VS> зарегистрировать "сyдаков" с латинской "y" и оформить на него
VS> сертификат?

1. DNS-сервер и/или DNS-resolver, должны кодировать/раскодировать с флагом
UseSTD3ASCIIRules и обломаться;

2. Реализация TLS должна, как я понимаю RFC 3490 и 5280, при проверке
сертификата должна кодировать с флагом UseSTD3ASCIIRules и послать;

3. Кроме того, УЦ действующий строго согласно RFC 5280, должен сие
проверить.
--
Успехов, Сергей Леонтьев. E-mail: ***@cryptopro.ru <http://www.cryptopro.ru>
Loading...