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つのオプションで十分と思われる。