連載 XML Webサービスのセキュリティ実装 第3回 SSLを利用した暗号化(サーバ編) 矢嶋 聡2003/06/04 |
|
|
3-2 サーバ証明書の準備
本項では、IISでSSLを使用するために、サーバ側の公開鍵の証明書を作成する方法を説明します。3-1「SSLとは?」で説明したように、SSLの手順としてサーバ側の公開鍵を確実にクライアントに渡すためには、サーバ側の公開鍵を含む証明書を作成する必要があります。この証明書を「サーバ証明書」といいます。ここでは、サーバ証明書の作成を外部の証明機関に要求するのではなく、Windows 2000 Serverなどで提供される「証明書サービス」を証明機関として利用します。それを踏まえ、以降ではWebSrv1をSSLでアクセスできるようにする手順を説明します。
■サーバ証明書の要求ファイルを作成する
まず、証明機関に証明書を作成してもらうための元データとなる、「証明書要求ファイル」を作成します。このファイルはテキスト・ファイルで、サーバ側の公開鍵がエンコードされて含まれています。
ここで、サンプルWebSrv1を含むIISマシン上で、管理ツール「インターネット・インフォメーション・サービス」を起動してください([スタート]メニューの[プログラム]−[管理ツール]−[インターネット・インフォメーション・サービス]から起動します)。管理ツールの左ペインのツリーでは「WebSrv1」ではなく、「既定のWebサイト」を右クリックして、ショートカット・メニューから[プロパティ]を選んでください。[既定のWebサイトのプロパティ]ダイアログボックスが開いたら、[ディレクトリセキュリティ]タブをクリックします(図12)。サーバ証明書の作成に関する処理は、仮想フォルダ単位ではなく、サイト単位で行うので、「既定のWebサイト」を右クリックした点に注意してください。
図12 既定のWebサイトのプロパティ |
この画面の下部にある[サーバー証明書]ボタンをクリックします。すると、「サーバー証明書ウィザード」が開きます(図13)。
図13 サーバー証明書ウィザード |
この後は、このウィザードの指示に従って操作します。[次へ]ボタンをクリックしながら、以下に示す設定を各ページで行い、証明書要求の際の元データとなるテキスト・ファイル「証明書要求ファイル」を作成してください。以下の丸かっこ表記は、ウィザードの各ページにある小見出しです。また、特に指定がないオプションは既定のままにしてください。
(サーバ証明書) | |
・「証明書の新規作成」オプションを選択する | |
(要求の送信) | |
・「証明書の要求を作成して後で送信する」オプションを選択する | |
(名前とセキュリティの設定) | |
・名前欄は覚えやすい任意の名前 | |
(組織に関する情報) | |
・組織、部門とも覚えやすい任意の名前 | |
(サイトの一般名) | |
・一般名: サーバの名前に合わせること(以下の「NOTICE」を参照) | |
(地理情報) | |
・国、都道府県、市区町村を任意の名前で入力 | |
(証明書要求ファイル名) | |
・ファイル名: 任意の名前(ここでは説明の都合上、MySite01.txt) | |
[NOTICE] |
「一般名」はサーバ名に合わせてください。実際にSSLを使うとき、サーバ証明書は、クライアントにダウンロードされ、その際、ダウンロード元のサーバ名と証明書の一般名が一致しないと、Internet Explorerは警告を発します。 |
これで、証明機関に証明書の作成を要求するための、サーバ側の公開鍵を含む「証明書要求ファイル」ができました。なお、この操作によってIISの内部には、サーバ側の秘密鍵も作成されています。つまり、前述の一連の操作によって、サーバ側には秘密鍵と公開鍵が作られ、さらに公開鍵を含む「証明書要求ファイル」が作られたわけです。
この後の手順として、この「証明書要求ファイル」を証明機関に提出して、証明書を発行してもらうわけですが、今回はWindows 2000の「証明書サービス」に証明書の発行を依頼します。
■証明機関でサーバ証明書を作成してもらう
ここでの証明書作成の作業は、Windows 2000 Server上の「証明書サービス」を利用します。実験的に使用できるWindows 2000 Serverに証明書サービスをインストールするか、またはすでにインストール済みの、実験で利用してもよいスタンドアロンの証明書サービス(企業内のアクティブディレクトリに組み込まれていない証明書サービス)を利用すればよいでしょう。
Windows 2000で証明書サービスをインストールするには、ほかのコンポーネントと同様に、コントロール・パネルの「アプリケーションの追加の削除」の中にある「Windowsコンポーネントの追加と削除」をクリックして表示される画面「Windowsコンポーネントウィザード」から行うことができます。この画面から「証明書サービス」選択して、[次へ]ボタンをクリックし、インストールしてください(図14)。
図14 証明書サービスのインストール |
インストールする場合、証明書サービスの既定のオプションのままインストールすれば十分です。インストールの途中で、「証明機関の種類」を選択する必要がありますが、今回は実験なので「スタンドアロンのルートCA」を選択してください。また、「CA識別情報」の入力欄には適当な名前や住所を入力してください。
証明書サービスのインストールが済んだら、次の手順でこの証明書サービスに「証明書要求ファイル」を提出します。
ここで、証明書サービスがインストールされたマシンでブラウザを起動し、次のアドレスにアクセスしてください。このアドレスにアクセスするには、もちろん、そのマシンでIISが稼働している必要があります。
http://localhost/CertSrv/
すると、図15のようなWebページが開きます。これは、認証サービスにアクセスするWebページ形式のツールです。「WEB登録サポート」と呼ばれる機能です(このページが開かない場合、証明書サービスのサブコンポーネント「証明書サービスWEB登録サポート」をインストールしていない可能性があり、再度インストールする必要があります。図14の画面で「証明書サービス」を選択した後、[詳細]ボタンをクリックして「証明書サービスWEB登録サポート」を選択し、再インストールしてください)。
図15 証明機関のWEB登録サポート |
この画面はウィザード形式になっており、[次へ]ボタンをクリックしながら設定していきます。各ページでは以下の手順に従って設定し、先に作成した「証明書要求ファイル」をページに貼り付けて、証明書サービスへ投函してください。
(ようこそ) | |
・「証明書の要求」オプションを選択する | |
(要求する種類の選択) | |
・「要求の詳細設定」オプションを選択する | |
(証明書の要求の詳細設定) | |
・「Base 64エンコードPKCS #10ファイルを使用して証明書の要求を送信...」オプションを選択する | |
(保存した要求の送信) | |
・「保存された要求」欄に、先に作成した「証明書要求ファイル(MySite01.txt)」の内容全体をコピー・ペーストして貼り付ける(データの前後にあるBEGIN、およびENDを含む開始行と終了行は含まなくともよい) | |
・送信ボタンをクリックする |
これで、証明機関(証明書サービス)に証明書発行の要求は済みました。
INDEX | ||
連載 XML Webサービスのセキュリティ実装 | ||
第3回 SSLを利用した暗号化(サーバ編) | ||
3-1 SSLとは? | ||
3-2 サーバ証明書の準備(1) | ||
3-2 サーバ証明書の準備(2) | ||
「連載 XML Webサービスのセキュリティ実装」 |
- 第2回 簡潔なコーディングのために (2017/7/26)
ラムダ式で記述できるメンバの増加、throw式、out変数、タプルなど、C# 7には以前よりもコードを簡潔に記述できるような機能が導入されている - 第1回 Visual Studio Codeデバッグの基礎知識 (2017/7/21)
Node.jsプログラムをデバッグしながら、Visual Studio Codeに統合されているデバッグ機能の基本の「キ」をマスターしよう - 第1回 明瞭なコーディングのために (2017/7/19)
C# 7で追加された新機能の中から、「数値リテラル構文の改善」と「ローカル関数」を紹介する。これらは分かりやすいコードを記述するのに使える - Presentation Translator (2017/7/18)
Presentation TranslatorはPowerPoint用のアドイン。プレゼンテーション時の字幕の付加や、多言語での質疑応答、スライドの翻訳を行える
|
|