07.SSL設定(2) … 秘密鍵の生成


(1) 作業を始める前に、"Apache"のインストールフォルダ下の"Apache"関連のコマンドが収められたフォルダ"bin"にコマンドパスが通るよう、OSの環境変数"Path"にそのパス(*1)を追加する作業(*2)を行っておく。

*1 ver.2.2.22の場合は"C:\Program Files\Apache Software Foundation\Apache2.2\bin"

*2 作業手順の一例 : WindowsXPの場合 … [コントロールパネル]画面を開く → [システム]アイコンをダブルクリックして[システムのプロパティ]画面を開く → [詳細設定]タブ選択 → [環境変数]ボタン押下 → [システム環境変数]欄の"変数"の項目が"Path"である行を選択 → [編集]ボタン押下 → "変数値"欄の文字列の末尾にセミコロン記号(;)を追加してから、その後ろに目的のパス文字列を記述(注意:パスに空白がある場合でも["]記号で囲む必要はない) → [OK]ボタンを押下して全ての画面を閉じる。

(2) DOSコマンドを実行する為の「コマンドプロンプト」("C:\WINDOWS\system32\cmd.exe")のショートカットを、"Apache"のインストールフォルダ下の"conf"フォルダ(*3)下に作成し、そのショートカットのプロパティの[ショートカット]タブの[作業フォルダ]欄に"conf"フォルダへのフルパス(*3)を設定する。

*3 ver.2.2.22の場合は"C:\Program Files\Apache Software Foundation\Apache2.2\conf"

ショートカットを起動してコマンドプロンプトを開き、そのカレントディレクトリが"Apache"のインストールフォルダ下の"conf"フォルダになっていることを確認する。

Microsoft Windows XP [Version 5.1.2600]
(C) Copyright 1985-2001 Microsoft Corp.

C:\Program Files\Apache Software Foundation\Apache2.2\conf>

続けて、そのコマンドプロンプト画面で"set"コマンドを実行して、上記(1)で追加したパスが環境変数"Path"に追加されていることを確認する。

Microsoft Windows XP [Version 5.1.2600]
(C) Copyright 1985-2001 Microsoft Corp.

C:\Program Files\Apache Software Foundation\Apache2.2\conf>set
ALLUSERSPROFILE=C:\Documents and Settings\All Users
APPDATA=C:\Documents and Settings\Administrator\Application Data

Path=C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\Program Files
\Apache Software Foundation\Apache2.2\bin


(3) "Apache"のインストールフォルダ下の"conf"フォルダ下に"pass phrase.txt"という名で新規のテキストファイルを作成してそれをメモ帳で開き、そこに「秘密鍵」にかけるパスワードとして用いる為の任意の文字列(なるべく11文字以上 → 下記の参考を参照)を1行書き込んで保存する。(メモ帳はそのまま開いた状態にしておく)

参考 … 「パスフレーズ」について。

"SSL"における「公開鍵暗号化方式」の「秘密鍵」とは、単にデータの復号化に用いられるだけでなく、証明書の生成やデジタル署名などにも用いられる非常に重要な「鍵」であるため、万が一それが第三者に盗まれたとしても不正に使用されないようパスワードで保護する機能が実装されている。

秘密鍵に設定するパスワードは、通常の単一の単語からなるパスワードだけでなく、よりセキュリティを高める為に、複数の単語を空白で連結した文章のような長めの文字列を設定することもできる。

この「文章のような長めのパスワード」の事を「パスフレーズ」("pass phrase")と呼ぶ。

(4) 上記(2)で開いたコマンドプロンプト画面で以下のコマンドを実行する。

openssl genrsa -out server.key -des3 1024

(5) "Enter pass phrase:"のプロンプトに対して、上記(3)のメモ帳画面の文字列をコピー&ペーストする。

注意 … "Enter pass phrase:"プロンプトに対する文字入力について。

"Enter pass phrase:"のプロンプトは、文字を入力してもカーソルは移動せず、また、入力した文字列も表示されないので注意する。(この後の"Verifying - Enter pass phrase:"プロンプトについても同様)

Enter pass phrase: ←文字入力しても何も表示されないので注意。

(6) "Verifying - Enter pass phrase:"のプロンプトに対して、再度、上記(3)のメモ帳画面の文字列をコピー&ペーストする。

Verifying - Enter pass phrase: ←文字入力しても何も表示されないので注意。

(7) "Apache"の"conf"フォルダ下に"server.key"ファイルが作成されたことを確認。

(8) コマンドプロンプト画面とメモ帳は開いたまま次の手順に進む。