現在、テストマシンに次の証明書の「チェーン」があります。
以下を備えたCA証明書、
X509v3 Name Constraints: critical
Permitted:
DNS:mydomain.net
DNS:.mydomain.net
上記で署名された非CA証明書。
テストWebサーバーは、後者の2つの証明書を提供します。 1つ目は、OS Xのキーチェーン、Firefox自体、およびLinux側で、FFとcertutil
によって「信頼できる」とマークされています。
OS Xでは、Firefoxは接続をセキュアとして受け入れます。 ChromeとSafariはそうではありません。Chromeのように見えます&SafariはOSが暗号化の目的で使用するものをすべて使用するため、OS Xが問題です。表示証明書は示しています:
"This certificate cannot be used (unrecognized critical extension)"
Extension: Name Constraints (2.5.29.30)
Critical: YES
Data: <a sequence of octets>
オクテットのシーケンスが表示されているので、私は推測していますnotニースのデコードされたビュー(他の拡張機能で行うように)、これがエラーの原因となっている拡張機能です。
LinuxでもChrome=(FFで正常に動作します)で動作させることはできませんが、ルート証明書を見つけることができないようです(ただし、 OS Xではできます);これは、自己署名証明書を受け入れる方法がわからないためだと思います(インターネットはcertutil
と言っており、そのほぼすべての組み合わせを試してみました役に立つ。)
Appleの Secure Transport ライブラリはX.509の nameConstraints
をサポートしていません。
これについては、Chromiumのバグデータベースにバグがあります。そして、それはWontFix
として閉じられました。開発者 Ryan Sleeviが2014年8月25日にこれを述べた (アーカイブ ここ ):
Chromeは、検証のためにOS暗号スタックを使用します。
Appleは名前の制約を実装していません。これはOS XのSSLまたは証明書検証ライブラリ(Safari、Curl、Pythonなど)を使用するすべてのアプリケーションに適用されます。 )