I 2段階認証プロセスに内部アプリケーションを更新しています。私は従来のユーザー名/パスワードフォームの上に(スマートカード経由で)クライアント証明書認証プロセスを追加したいと思います。アプリケーションはC#で書かれ、IIS7でホストされ、ChromeとIE8をターゲットにしています。
問題:
私はクライアント証明書をユーザーに促すためのアプリケーションを取得して問題が生じています。私はFiddlerの助けを借りてアプリケーションをデバッグしています。 Fiddlerのユーザーのディレクトリ(C:\ Documents and Settings \ USER \ My Documents \ Fiddler2)に保存されているテストクライアント証明書を取得すると、アプリケーションは正常に動作します。スマートカードを保護する暗証番号を入力するよう求められ、正しく入力された場合はログインフォームに移動します。 Fiddlerを閉じると、(Fiddlerはもはや実行されず、その証明書を指しているので)アプリケーションは403 Forbiddenエラーをスローします。私が把握できなかったのは、アプリケーションが通常は証明書を要求しない理由です。
現在のサーバーのセットアップ:
- 自己証明書が に作成された署名付き
- 匿名認証が
- は、自己署名証明書は、両方に追加された有効になっている自己署名証明書を指しているバインディング信頼されたルートCAと中間CA(私は信頼されたルートCAだけではなく、他の人がそれを持っていたことを読んでいました。 )。
- 私が必要としなかった信頼されたルートCAの証明書の残りの部分をクリアしました(証明書が多すぎるとSSLが枯渇することがあります)。
他のサーバーで最初からやり直す以外の方法があります。誰が問題が何であるか知っていますか?これは非常にまっすぐ進むべきであり、私は何かマイナーなものを欠いているようだ。どんなアイデアも歓迎されます。
アップデート:今日この問題に多くの時間を過ごした後
、私は強くそれがIIS7は(私はもともとそれを設定していない)が正しく構成されていないとしなければならないと考えています。これは、Failed Request Tracingを有効にして、生成される後続の.xmlファイルを調べたところ、500のエラーがスローされていることがわかりました。
Chromeは「403 - 禁止:アクセスが拒否されました」ではなく、「ウェブページへのアクセスが拒否されました」というメッセージを表示しています。これが役立つかどうかはわかりません。証明書を要求しないと、サイトは意図したとおりに動作することはわかっています。証明書を要求するのは失敗する場所です。
アプリケーションプールが.Net 4.0に設定されています。クラシック|ネットワークサービス。
私は助けることができますが、いくつかの質問がありますか?1)IEやFFも試しましたか? 2)別のサーバーで結果を複製したいことがあります。私はあまりにも多くの問題がこのように助けられた/解決されたことを見てきました - それはまたあなたにあなたのIIS7サイトがどのように設定されているかに根ざしを感じる機会を与えるでしょう。 3)より多くの洞察力を得ることを試みることができるより多くのクライアントおよび/またはサーバロギングがある - おそらく、IIS7側でより多くの可能性があります。 – Lizz