-2

Windows2003R2で実行されているIIS6.0でホストされているWCFサービスがあります。このサービスにはSSL secured「必要なクライアント証明書」オプションがあります。Win 2003 R2内でIEからサービスを参照すると、WSDLを確認できます。WinXPでIEを実行している開発マシンから参照しようとしたとき。このような403.7エラーが表示されます。

The page requires a client certificate
......
......

HTTP Error 403.7 - Forbidden: SSL client certificate is required.
Internet Information Services (IIS)

私はそれに5日間を費やしました

  1. クライアントのクライアント証明書、秘密鍵を確認し、何度もインポートします。
  2. 本来の目的(クライアント認証)とEKU値を確認します。
  3. CAがサーバーとクライアントの両方のTrustRootCertAuthorityFolderにインストールされていることを確認します。
  4. SSL診断ツールの実行。残念ながら、上に貼り付けたメッセージが表示され、詳細はあまり表示されません。
  5. [IISディレクトリのセキュリティ]タブで[クライアント証明書を受け入れる]オプションを試してみると機能します。

私が見逃している、または気づいていないものはありますか?

4

1 に答える 1

0

最後に、MSFT サポートの助けを借りて、解決しました。その理由は、Web サーバーの信頼されたルート証明機関フォルダーに含まれる証明書が多すぎて、推奨される長さを超えていたためです。したがって、イベントログでこの警告を受け取りました。

 When asking for client authentication, this server sends a list of
 trusted certificate authorities to the client. The client uses this
 list to choose a client certificate that is trusted by the server.
 Currently, this server trusts so many certificate authorities that the
 list has grown too long. This list has thus been truncated. The
 administrator of this machine should review the  certificate
 authorities trusted for client authentication and remove those that 
 do not really need to be trusted.

期限切れ/未使用の証明書をいくつか削除しましたが、それでも十分ではありませんでした。有効期限が切れていないためにシステムが壊れるのを恐れて、これ以上証明書を削除できませんでした。方法 3 を使用して、ここで説明されている問題を修正しました

問題は解決しましたが、この方法を使用することの唯一の欠点は、クライアント ブラウザーが、信頼ルート CA に基づいて必要なサーバーを選択する代わりに、コンピューターに存在するすべてのクライアント証明書のリストを表示することです。私は Web サイトではなく WCF サービスを持っているので、これはうまくいきます。

于 2012-12-13T16:07:56.527 に答える