为什么 8 个自签名证书中有 1 个不起作用?

Why 1 of 8 self signed certificates does not work?

我在 Mac OS X 10.6.8 上设置了以下自签名证书,并使它们在钥匙串访问中受信任: *.la.com *.la.mx *.la.es *.la.ca *.la.com.ar *.la.co.nz *.la.us *.la.co.uk

但是,由于我无法理解 *.la.us 证书的原因,即使我在创建和信任它时遵循完全相同的过程也是如此。事实上,如果我不信任然后又信任他们使用的每个证书,我会在 Chrome 43.0.2357.132(64 位)"except" 中获得绿色挂锁 *.la.us.

对于 *.la.us 我得到:

Your connection is not private
Attackers might be trying to steal your information from www.la.us (for example, passwords, messages or credit cards). NET_ERR_CERT_COMMON_NAME_INVALID

如果我点击 高级 我会看到:

This server could not prove that it is www.la.us; its security certificate is from *.la.us. This may be caused by a misconfiguration or an attacker intercepting your connection.

如果我继续并单击红色挂锁,我会看到:

Server's certificate does not match the URL.

当服务器的证书清楚地告诉我它是 www.la.us 并且证书是用于 *.la.us 时,服务器的证书怎么不匹配 URL ?

域名la.us有什么特别之处吗?我已经多次重新创建证书,多次重新进入 MAMP Apache 虚拟 conf,并一次又一次地尝试 Keychain Access(删除中间的证书)。有人有什么想法吗?

.us 名称中的域有特殊规则 space,看起来 Chrome 正在执行这些规则。来自 Wikipedia entry for .us:

A two-letter second-level domain is formally reserved for each U.S. state, federal territory, and the District of Columbia....

这些规则也反映在 public suffix list 中,您可以在其中找到 la.us 的特殊条目以及 k12.la.us 等各种子域。

这些特殊规则表明 *.la.us 名称没有单一所有者space,因此您不能获得 *.la.us 的通配符证书。这类似于 ukco.uk 名称 space,您无法获得 *.co.uk 的证书,只能获得 *.la.co.uk 的证书。请注意,并非所有浏览器都使用 public 后缀列表中的所有规则来检查证书的主题。