QA@IT

オレオレ証明書でのクライアント認証について

9651 PV

Windows Server 2008 R2+IIS 7.5にてクライアント認証を行いたいと依頼があり、テスト的に環境を構築しているのですが、クライアント証明書をインストールしてもエラーが発生してしまいます。

エラー内容:”403.7:アクセスしようとしているページでは、Web サーバーが認識できる SSL (Secure Sockets Layer) クライアント証明書がブラウザーに必要です。”

ブラウザによっては正しく動作します。
エラー:Internet Explorer8、google Chrome(証明書選択のダイアログも表示されない)
正常:safari(証明書選択のダイアログが表示され、証明書を選択するとサイトが表示)

ブラウザの設定から証明書を確認すると、「個人」、「信頼されたルート証明機関」ともにインストールされています。

証明書は、テスト環境のため、サーバー証明書、クライアント証明書ともに、OpenSSLを使用して作成しております。
(本番環境では、サーバー証明書は一般的に信頼されている認証局に発行してもらい、クライアント証明書はオレオレ証明書を使用予定)

作成は以下のサイトを参考にさせていただきました。

http://www.aconus.com/~oyaji/www/certs_win.htm

safariでは正常に動作するため証明書は問題ないと思います。

いろいろやっているのですが進展ありません。
なんでもいいのでご教授いただきたいです。
宜しくお願い致します。

回答

ググってみたら、French IIS Support Team Blogにトラブルシュートの方法が載っていたので、今ざっと斜め読みしてみました。

[French IIS Support Team Blog]http://blogs.msdn.com/b/friis/archive/2011/11/15/troubleshooting-403-7-client-certificate-required-errors-amp-step-by-step-to-make-sure-your-client-certificate-is-displayed-and-selected.aspx

sk_1977さんによると、証明書は問題ないってことなので、とりあえず怪しいのはこの中の「III - Wrong IIS/CTL configuration」あたりのような気がします。

上を見ると、クライアント証明書にサインするのに使うルート証明書をIISのコンピュータアカウント用"Trusted Root"証明書ストアに入れています。その辺が気になりました。例えば個人用の"Trusted Root"証明書ストアに入れていると、認識されなさそうです。

safariだと接続できる点が若干ひっかかりますが、推測では、safariは上でいうCTL(Certificate Trust List)を見ておらず、IEやChromeはCTLを見ているか、もしくはsafariとIE/ChromeとではCTLの見方が違う可能性があるかもと思います。

あまり自信はないですが、とりあえず気づいたことです。

編集 履歴 (0)
  • blunder3さん
    情報ありがとうございます。

    教えていただいたサイトを参考にやってみます。
    -
  • blunder3さん教えていただいたサイトを参考にしたところ無事に証明書選択のダイアログが表示するようになりました。

    行った作業は、サーバー側に「信頼されたルート証明機関」で登録されている証明書の目的から「クライアント認証」のチェックをはずしました。
    (不要なものすべて)

    2週間くらい悩んでいたので大変たすかりました。本当にありがとうございました。
    -
ウォッチ

この質問への回答やコメントをメールでお知らせします。