IIS + SSL でハマった(その2)

| コメント(2) | トラックバック(0)

サーバー証明書によるHTTPSの構築に成功したので、今度はクライアント証明書を使った構築に挑戦。

したものの・・・なにをしてもエラーが出る!!

"クライアント証明書"は"サーバー証明書"を作った"プライベート認証局"と同じ。当然、サーバー証明書はIISに、ルート証明書はサーバー自体にインストールしてある。

クライアント証明書はWebブラウザにインストールし、ルート証明書はインストールしていない。(インストールしてもエラーは変わらず)

さてなにがいかんのか。。。

エラーは、"クライアント証明書を要求する設定にしたWebサイト"へ"HTTPS接続"したときに表示される。応答コードは"HTTP 403.16"(このページには有効なクライアント証明書が必要です)。これはクライアント証明書が無効である場合に表示されるもの。失効されていたり有効期限が切れていたり。

IIS5.0は失効リストを要求し、クライアントから送られた証明書が失効リストにないかをチェックするらしい。今回はOpenSSLで失効リストを作成していないので、まずここでつまずくが、Inetpub\AdminScripts\adsutil.vbsで失効リストを検索しないようにできる。

このあたりで問題解決できるかと思ったけど、結果は変わらず・・・。

 

あれこれ試してすでに5時間経過・・・。(´・ω・`) ショボーン

 

ということで、クライアント証明書を一度作り直し、原点に戻って見直し。

IISの設定。HTTPSの接続自体はできるので、サーバー証明書には問題ないはず。

クライアント証明書の要求。証明書信頼リストもちゃんと作った。

サーバー側の信頼されたルート証明書の一覧にも当然"プライベート認証局のルート証明書"があるし・・・。

とここで、途中「MMCを使った証明書のインストール」を解説しているサイトがあったのを思い出した。単純に「信頼できるルート証明書」へインストールするだけなら、証明書を開けばよい。なぜそんな回りくどいことを・・・?

 

MMCで証明書のスナップインを追加したときに、とても気になる選択肢が。

・ユーザーアカウント

・サービスアカウント

・コンピュータアカウント ←コレ

 

もしやと思いコンピュータアカウントの証明書を見てみると・・・

"プライベート認証局のルート証明書"がない!ヾ(*・ω・*)ノ

ユーザーアカウントにはちゃんとインストールされていたが、コンピュータアカウントにはインストールされていなかった・・・。なるほど、だからMMCを使っていたわけですね・・・orz

 

コンピュータアカウントの信頼されたルート証明書一覧にインストールし、再度Webサイトへアクセスしてみると、今まで5時間の苦労をあざけるかのように"あっさり"つながった♪

 

 

トラックバック(0)

トラックバックURL: /mt/mt-tb.cgi/35

コメント(2)

助かりました。同じところで2日悩みました。

おじゃる丸様

コメントありがとうございます。
記事がお役に立てたようでよかったです。