如果我获得了IDN域的SSL证书,我应该期望CN字段中的值是域名的文字UTF-8字符串,还是转义的punycode版本?
X509v3主题备用名称DNS条目怎么样,那些格式是否相同?
我能看到一些示例crt文件,还是链接到使用SSL的IDN?
这是否有规范性规范?
答案 0 :(得分:1)
假设您正在讨论HTTPS,传统上用于主机名验证的规则在RFC 2818, Section 3.1中定义,它根本没有提及国际化域名。
最近,编写了一个“最佳实践”RFC RFC 6125,用于协调跨协议的主机名验证程序,并澄清了许多其他要点。以下是关于IDN(section 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可以接受)。