2012-02-28 10 views
4

マップされた証明書だけがWebサービスにアクセスできるようにサーバーを設定しています。 SSL /クライアント証明書、匿名認証、asp.net偽装、フォーム認証、およびWindows認証をすべて無効にするように設定されています。 1対1のクライアント証明書マッピングが有効になり、証明書は適切なユーザーマッピングでボックスに設定されます。私がWebサービスを使用しようとすると、私は401.2を取得します。匿名認証を有効にすると機能しますが、古い証明書がWebサイトにアクセスすることはできません。証明書認証を有効にすると401.2を取得する

この構成では、匿名認証が無効になっている別のマシンがあり、動作します。私は違いが何であるか分からない。

+0

この文章は、「SSL /クライアント証明書、匿名認証、asp.net偽装、フォーム認証、およびWindows認証がすべて無効になっているように設定されています。 設定で有効であるかどうかは不明です。また、どのバージョンのIIS、Windows、どのブラウザを使用していますか? –

+0

@natemrice - 確かに。 IIS 7、Server 2008、IEとChromeを試しましたが、これは.Net 2.0 WebServiceなので、アクセスはプログラムからのものです。解明のために:IISマネージャーに入り、希望のウェブサイトをクリックした場合: 1)「認証」の下に、匿名認証、ASP.Net偽装、フォーム認証、Windows認証があります。匿名のみが有効になっているため、無効にしたいと考えています。 2)ウェブサイトをクリックしてSSL設定に行き、「SSLを要求する」チェックボックスをオンにし、クライアント証明書が「要求」に設定されている –

答えて

1

問題は、いない構成でで呼んでいたソフトウェアであることになりました。私は何も問題にならないように答えようと努力したので、恩恵を受けています。

編集:詳細については、(ローカルボックスから)送信された証明書とoneToOneマッピングに置かれた証明書との間に不一致が生じました。共通名は同じでしたが、証明書は異なっていました(最初の証明書が期限切れになっている可能性が高い)ので、証明書は単に承認されませんでした。

1

クライアント/サーバーが信頼する証明書サーバーからクライアント証明書を発行しましたか?証明書の「拡張キーの使用」プロパティを見ると、「クライアント認証」のプロパティの1つですか? IISでは、クライアント証明書マッピングの役割がインストールされていますか(図1参照)? 「Client Certificate Mapping」を有効にしてユーザーを証明書にマップしましたか?すべてのクライアント証明書をインポートし、ここでユーザーアカウントにマップする必要があります。他のクライアント認証方式は、ここで設定したときにすべて削除できます。

enter image description here

+0

証明書は信頼されていますウェブサイトはすぐにサーバー構成(401.2コード)のために接続できないという要求を拒否します。 system.webServer/security/authentication/iisClientCertificateMappingAuthenticationでは、enabledがtrueに設定され、manyToOne..enabledはtrueに設定され、oneToOne..enabledはtrueに設定されます。 oneToOneMappingsコレクションに証明書が設定されています。 –

+0

問題は2つのうちの1つです:1)他のすべての認証メカニズムがまだありますが、それらはすべてオフになっている必要があります。または、2)クライアントのマッピングが何とか失敗しています。クライアント証明書がサーバー、不正なユーザーなどと一致しません –

5

同じ問題が発生しましたが、上記の解決策で問題が解決されませんでした。私はウェブサイト自体ではなく、ウェブサイトのサブディレクトリにIIS証明書認証を設定していました。

そうで、これは間違っている:

Wrong usage

そして、これが正しいこと:私は、ウェブサイトのルートに設定を移動したら

Correct usage

、すべてが完璧に働きました。

解決策はhttp://blogs.msdn.com/b/saurabh_singh/archive/2009/06/13/avoid-this-confusion-around-client-certificate-mapping-in-iis-6-0-7-0.aspxにあります。

+1

これは私が探していたヒントです!私はIIS7.5でそれを試しましたが、証明書とユーザーのマッピングはサイトのルートレベルでしか動作しません。しかし、あなたはそれを構成し、それをルートで無効にしておき、マッピングを繰り返さずに、作業する必要のあるエイリアスでのみ有効にすることができます。 – Luke

関連する問題