如果我获得了 IDN 域的 SSL 证书,我应该期望 CN 字段中的值是域名的文字 UTF-8 字符串,还是转义的 punycode 版本?
X509v3 主题备用名称 DNS 条目的格式是否相同?
我可以查看一些示例 crt 文件,或链接到使用 SSL 的 IDN 吗?
有这方面的规范规范吗?
假设您在谈论 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 是可接受的)。