2016-09-08 11 views
1

クライアントを認証するためにクライアント証明書認証を使用する既定のWebサイトでWebアプリケーションがあります。認証のためのクライアント証明書とのハンドシェークに失敗し、タイムアウトまたは403でエラーが発生しました - 禁止:アクセス拒否エラーです。 我々は403 - 禁止されているとサーバーが信頼するリストが長すぎる多くの認証機関

クライアント認証を求めて、このサーバーがクライアントに 信頼できる認証機関のリストを送信し、システムイベントログにエラー下回りました。クライアントはこの リストを使用して、サーバーによって信頼されるクライアント証明書を選択します。 現在のところ、このサーバーは非常に多くの認証機関を信頼し、 のリストが長くなり過ぎています。したがって、このリストは切り捨てられています。このマシンの 管理者は、 クライアント認証のために信頼されている証明書を確認し、 を本当に信頼する必要はないものを削除する必要があります。

IISの設定は、我々は他の環境でこのWebアプリケーションのためにやっていることに非常に似ています、我々は、証明書ストアに、このアプリケーション に必要な他のチェックのカップルを検証:私たちは、その権限を持つすべてのサーバー証明書とクライアント証明書を検証します階層が利用可能です。 アプリケーション認証:匿名 アプリケーションのSSL設定: のApplicationHost.configを受け入れる/ SSLが必要:iisClientCertificateMappingAuthentication下OnetoOneMapping対応したサービスでマッピングも追加BASE64証明書は、私はこの認証の問題は、上記のエラーメッセージを表示して何かをしなければわからない

アカウントイベントログに記録します。

+0

Windows証明書ストア - > LocalMachine - >信頼されたルート認証局と中間認証局の一覧を確認しましたか?それらには多くのCAが含まれていますか? – Thuan

答えて

0

を示唆している、私はこれはおそらくOPを助けるには遅すぎであることを知っているが、このイベントログメッセージで、誰のために、https://www.codit.eu/blog/2013/04/03/troubleshooting-ssl-client-certificate-issue-on-iis/でこの問題に関するよく構造ポストがある:

最初の解決策は、信頼できるルート証明機関ストア(ローカルマシン)をクリーンアップし、不要な証明書をすべて削除することです。 Windowsに必要な証明書は削除しないでください。

2番目の解決方法は、TLS/SSLハンドシェイクプロセス中に信頼されたルート証明機関のリストを送信しないようにSchannelを構成することです。 SendTrustedIssuerList 値の種類:REG_DWORD 値のデータ:0(偽)

これは\ SecurityProviders \ SCHANNELは、ウェブサーバ ます。HKEY_LOCAL_MACHINE \ System \ CurrentControlSet \コントロールに

値の名前をこのレジストリエントリを追加することによって行うことができます

関連する問題