先週、あるトレーニングでお話をさせていただいていたら、鼻から液体がタラーっと出てきました。鼻水が出てきたと思い、ごまかすように手で覆ったら、手が真っ赤に!そう、鼻血がでてきたのです。おかげで15分程度、受講してくださった皆さんには待ちぼうけにさせてしまいました。待っててくださった皆さん、すみませんでした。今日は、IISで利用可能なSSLクライアント認証に関連する情報を紹介します。SSLというと通信の暗号化、というイメージが強いですが、SSLの仕組みを利用して接続しているユーザーの認証(クライアント認証)を行うことが可能です。以前から、Windowsでも実装されている機能ですが、クライアントコンピューターに証明書をあらかじめインストールしておかなければならない、という面倒くささから、私の周りではあまり使っているという話を聞きません。そんなわけで、しばらく気がつかなかったのですが、あるお客様のところで私が登壇させていただいているトレーニングに、IIS6.0を使ってSSLクライアント認証を実際に試していただく、というのがあります。そこで、気がついたのですが、IIS7.0からSSLのクライアント認証を行うためのユーザーインターフェイスがなくなっていたのですね。そんなわけでマイクロソフトのTechNetでは、代替の方法が説明されています。■IISクライアント証明書マッピング認証http://technet.microsoft.com/ja-jp/library/ee431606.aspxもうちょっとシンプルな設定方法はないのかな、と思っていたら、IISのユーザーインターフェイスから設定する方法があるようだ、ということに気がつきました。全体を把握できるよう、ひととおりの流れをここに記しておきます。Directory証明書サービスの2つをインストールしてください。IISは、IISクライアント証明書マッピング認証も一緒にインストールします。2.IISを利用するユーザーに証明書を発行しておくIISを利用するユーザー全員に、証明書を発行します。発行する証明書の種類は、「ユーザー証明書」です。3.証明書から文字列を抽出する証明書のcerファイルをメモ帳で開くと、文字列が表示されます。この文字列から、最初と最後の行を取り除き、さらに改行を取り除いた文字列を用意しておきます。証明書サーバーの[証明機関]管理ツールから、それぞれの発行した証明書を開いて、cerファイルにエクスポートすると、一カ所から、それぞれのコンピューターにインストールされた証明書のcerファイルにアクセスできます。4.IISの管理ツールでSSLクライアント認証を設定するIISの管理ツールからSSLクライアント認証を設定するWebサイトを開き、[構成エディター]を開きます。構成エディターから、[セクション]でsystem.webServer/security/authentication/iisClientCertificateMappingAuthenticationを開くと、クライアント認証の設定画面が出現します。ここで、クライアントと証明書のマッピングを設定します。設定項目は以下の通りです。証明書に関連づけるユーザーの名前こちらが、oneToOneMappingsの部分をクリックしたときに表示される画面OneToOneMappingsの部分については、認証を行うユーザー分だけ繰り返します。すべての登録が完了したら、最後にIISの管理ツールからWebサイトの[SSL設定]を開き、SSLクライアント認証を有効にします。これで、できあがりです。実際にWebサイトにアクセスすると、クライアントコンピューターにインストールされている証明書が表示されます。Webサイトにアクセスしたことになります。