我现在在测试机器上有以下证书“链”:
- 自签名 CA 证书,在我的钥匙串中,受 Firefox 信任和信任。
具有以下内容的 CA 证书,
X509v3 Name Constraints: critical Permitted: DNS:mydomain.net DNS:.mydomain.net
由上述人员签署的非 CA 证书。
测试网络服务器为后两个证书提供服务;第一个在 OS X 的 Keychain、Firefox 本身以及我的 Linux 端,也在 FF 和 by 中标记为“受信任” certutil
。
在 OS X 上,Firefox 认为连接是安全的;Chrome 和 Safari 没有。看起来 Chrome 和 Safari 只是使用操作系统用于加密目的的任何东西,所以在这里,OS X 是问题所在。查看证书显示:
"This certificate cannot be used (unrecognized critical extension)"
Extension: Name Constraints (2.5.29.30)
Critical: YES
Data: <a sequence of octets>
我猜是因为我看到的是一个八位字节序列,而不是一个很好的解码视图(就像我对其他扩展所做的那样),这是导致错误的扩展。
我无法让它在 Chrome 下的 Linux 上运行(再次在 FF 中运行良好);但是,在那里,它似乎无法找到根证书(而在 OS X 上却可以);我认为这是因为我不明白如何接受我的自签名证书。(互联网上说certutil
,我已经尝试了几乎所有的组合都无济于事。)