3

クライアント証明書を必要とする SSL Web サイトをホストしている W2K8 R2 SP1 サーバーがあります。ローカル マシンの信頼できる CA ストアに保存されたルート証明書 (自己署名) があります。クライアントでは、ブラウザがクライアント証明書を要求し、正常に動作します。

これで、ローカル マシンの信頼できる CA ストアにも保存された別のルート証明書ができました。問題は、ブラウザーが、このルート CA によって発行されたクライアント証明書を選択することを提案しないことです。

ブラウザーがプロンプトを表示しない理由は、選択するクライアント証明書のリストを制限するために、信頼されたルート CA のリストをクライアントに返すようにサーバーが構成されている (デフォルトのオプション) ためです。このリスト (HKLM/system/currentcontrolset/control/securityproviders/schannel/sendtrustedissuerlist=0) を提供しないようにサーバーを構成すると、ブラウザーには手がかりがなく、すべてのクライアント証明書が表示され、正常に動作します。

過去に、信頼できる CA のリストが長すぎて、クライアントに返されるときに切り捨てられたため、このような問題がありましたが、ここではそうではなく、8 つの信頼できる CA のみが返されます。

また、この新しいルート CA を別の (非常によく似た) サーバーに登録すると、正常に動作し、返された信頼できるリストに新しい CA が含まれます。

SSL ネゴシエーション中に、この特定のサーバーがルート CA をリストに返すことを拒否する理由がまったくわかりません。誰か助けてください ???

4

1 に答える 1

3

これがあなたや他の誰かに役立つかどうかはわかりませんが、Microsoft とその Windows Server 2012 のドキュメントによると、あなたの問題はこれに関連しているようです:

「使用された信頼されたルート証明機関ストアにルート (自己署名) 証明書と証明機関 (CA) 発行者証明書が混在している場合、既定では CA 発行者証明書のみがサーバーに送信されます」.

「Certificate Trust List」(CTL) には別のストアを使用できることに注意してください。「クライアント認証発行者」ストアが最初にチェック/使用され (Windows Server 2012 のデフォルト)、空の場合は「信頼されたルート証明機関」ストアが使用されます。

2012 年であれば、手動で CTL ストアを構成できたはずですが、2008 R2 にはそのオプションが存在しなかったと思います (間違っているかもしれませんが)。

于 2015-02-18T23:40:24.713 に答える