IIS6.0におけるテスト用SSLの設定 | on-the-job training

IIS6.0におけるテスト用SSLの設定

IIS (Internet Information Service) 6.0で、SSL通信を使いテストを行いたい。
しかし、テストサーバに認証機関が発行する証明書を使うのはバカらしい(有償ですからね)。



あくまで、テスト用にSSLを使いたいだけなのだ。
つまり、「オレオレ証明書」が発行できれば良いわけだ。


なんと、あの「Microsoft」がこの問題を解決してるではないか!!


今回見つけたのが、IIS 6 Resource Kit に含まれる SelfSSL.exe というコマンドだ。
http://www.microsoft.com/japan/windowsserver2003/tryiis/resourcekit.mspx


Googleなどで「IIS Resource Kit」をキーワードに検索しても、IIS 6.0 Resource Kitダウンロードサイトが見つかる。
ただし、ダウンロードサイトは英語サイトのみ。


  File Name : iis60rkt.exe
  Version : 1.0
  Date Published : 1/19/2005
  Language : English
  Download Size : 5.8 MB



ここで問題発生!!!!
このリソースキットが2005年1月19日と・・・WindowsVistaのIISにはインストールができなかった・・・orz
今回は、Windosw2003サーバにて確認。


これを、SSLを有効にしたいIISサーバにインストールする。インストーラは、全て英語だが、特に問題のある箇所は無い。
パパッととインストーラにしたがって完了させる。Wintowdの再起動は必要ない。


インストールが完了すると、「SelfSSL」ツールがプログラムメニューに登録される。
「スタート」→「プログラム」→「IIS Resources」→「SelfSSL」→「SelfSSL」とクリックすると、コマンドプロンプト画面でSelfSSLのヘルプが表示される。


次に、IISマネージャを開いて、画面左半分のツリー表示の部分から「Webサイト」というフォルダをクリックし、SSL通信を有効にしたいWebサイトの識別子を調べる。
「既定のWebサイト」の識別子は必ず「1」になっているが、自分で追加したWebサイトの識別子は10桁くらいの整数値になっているはず。この整数値をメモしておく。

次に、さきほどのコマンドプロンプト画面から


  SelfSSL /S:(識別子の数字) /V:(証明書の有効期間日数)


と入力してEnterキーを押す。
証明書の有効期間日数は、テスト用であれば、36500日(100年)くらいにしておけばOK!!
続いて確認メッセージが表示されるので「Y」を入力する。


これだけで所定のWebサイトでSSL通信が可能になる。


ただしIISマネージャ上でそのWebサイトのプロパティを開き、「Webサイト」タブの「SSLポート」欄に「443」というポート番号を入力して「適用」ボタンをクリックするのを忘れないよう。

SelfSSLというコマンドには、他にもいくつかオプションがあるので、細かい設定がしたい方は「スタート」→「プログラム」→「IIS Resources」→「SelfSSL」→「SelfSSL」とクリックして表示される英文のヘルプを読むと良い。
単にテスト用に使うだけなら、上述の「/S:」と「/V:」の2つのオプションで十分と思われる。