2

キーチェーン アクセスを使用してインポートした複数のドメイン (たとえば、my.foo.bar.com と yours.foo.bar.com など) の自己署名証明書を取得しましたが、Chrome はまだそれを受け入れません。ドメインごとの各ブラウジング セッションの開始時の検証。

証明書は、複数のドメインを検証するために x509v3サブジェクト代替名拡張子を使用して生成されました。証明書をインポートする前にサイトに移動すると、インポートとは異なる警告メッセージが表示されます。以下に2つのエラーの画像を添付します(上がインポート前のエラーです)

ここに画像の説明を入力

自己署名のマルチドメイン証明書を受け入れる方法はありますか? ところで、Chromeでのみ警告が表示されます。FF と Safari は問題なく動作します (これらのブラウザは最悪です ;) )

更新: openssl cli とxca GUIの両方で証明書を生成しようとしました

4

1 に答える 1

5

*問題は、広すぎるワイルドカード (または*.com)を使用しようとしていることです。

仕様 ( RFC 6125およびRFC 2818 セクション 3.1 ) では、「左端」のラベルについて説明しています。これは、複数のラベルが必要であることを意味します。

 1.  The client SHOULD NOT attempt to match a presented identifier in
     which the wildcard character comprises a label other than the
     left-most label (e.g., do not match bar.*.example.net).

 2.  If the wildcard character is the only character of the left-most
     label in the presented identifier, the client SHOULD NOT compare
     against anything but the left-most label of the reference
     identifier (e.g., *.example.com would match foo.example.com but
     not bar.foo.example.com or example.com).

最低限必要なラベルの数を指定する仕様があるかどうかはわかりませんが、Chromium コードは、少なくとも 2 つのドットが必要であることを示しています。

広すぎるワイルドカードに対する基本的な保護として、少なくとも 3 つのコンポーネント (つまり 2 つのドット) が必要でした。

これは確かに、 のような広すぎるケースを防ぐため*.comです。これは不便に思えるかもしれませんが、CA は時々間違いを犯します。発行された潜在的な不正な証明書が*.com機能するのを防ぐ手段を持つことは、必ずしも悪いことではありません。私の記憶が正しければ、一部の実装はこれよりも先に進み、第 2 レベルのドメインには広すぎるリスト ドメインを持っています (例: .co.uk)。

2 番目の例については、「CN:bar.com、SAN: DNS:my.foo.bar.com、DNS:yours.foo.bar.com」です。この証明書は および に対して有効である必要がありますが、 では有効ではmy.foo.bar.comありyours.foo.bar.comませんbar.com。CN は、SAN が存在しない場合のフォールバック ソリューションにすぎません。SAN がある場合は、CN を無視する必要があります (一部の実装ではより寛容になります)。

于 2013-04-09T23:20:33.197 に答える