2009年4月12日日曜日

SSL サーバ証明書の作成

今回の検証では、Windows Server 2003 R2 で、apache_2.2.11-win32-x86-openssl-0.9.8i.msi をインストールしています。

検証で作成するファイルは、以下のとおり。

  • MyServer.key: 秘密鍵
  • MyServer.csr: CSR
  • MyServer.csr.txt: MyServer.csr のテキスト形式
  • MyServer.crt: SSL サーバ証明書
  • MyServer.crt.txt: SSL サーバ証明書のテキスト形式
  • CA.crt: CA 証明書

(CSR の生成)
  1. コマンド プロンプトを起動し、以下のコマンドを入力します。
  2. 設定ファイルの位置を環境変数にセットします。
    > set OPENSSL_CONF=C:\Program Files\Apache Software Foundation\Apache2.2\conf\openssl.cnf
  3. 設定ファイルのあるディレクトリに移動します。
    > cd "C:\Program Files\Apache Software Foundation\Apache2.2\conf"
  4. 秘密鍵と CSR を生成します。-nodes オプションを付けることにより、秘密鍵は暗号化されないので、危険ですが、Apache の起動時にパスフレーズを聞かれないので、自動起動が可能となります。
    > ..\bin\openssl req -new -nodes >MyServer.csr
  5. 秘密鍵 (privkey.pem) を分かりやすくファイル名を変更しておく。
    > move MyServer.csr MyServer.key
  6. CSR の検証と確認をします。"verify OK" と表示されればよい。MyServer.scr.txt に CSR の内容がテキスト形式で保存される。
    >..\bin\openssl req -in MyServer.csr -text -verify -noout >MyServer.csr.txt
(テスト用の自己署名証明書の作成)
  1. テスト用の自己署名証明書を作成する。
    > ..\bin\openssl req -x509 -days 365 -key MyServer.key -in MyServer.csr >MyServer.crt
  2. 作成した証明書を確認する。MyServer.crt.txt に証明書の内容がテキスト形式で保存される。
    ..\bin\openssl x509 -in MyServer.crt -noout -text >MyServer.crt.txt
  3. CA 証明書をコピーする。(自己署名証明書なので MyServer.crt と同じもの)
    > copy MyServer.crt CA.crt
(SSL サーバ証明書のインストール)

Apache の設定ファイルはデフォルトでは以下のディレクトリに配置されている。

C:\Program Files\Apache Software Foundation\Apache2.2\conf\
  1. [httpd.conf] を編集する。 (下記の行のコメントをはずす)
    LoadModule ssl_module modules/mod_ssl.so
    Include conf/extra/httpd-ssl.conf
  2. [extra/httpd-ssl.conf] を編集する。 (下記の行を修正する)
    SSLCertificateFile "C:/Program Files/Apache Software Foundation/Apache2.2/conf/MyServer.crt"
    # ↑ SSL 証明書を指定する。
    SSLCertificateKeyFile "C:/Program Files/Apache Software Foundation/Apache2.2/conf/MyServer.key"
    # ↑ 秘密鍵を指定する。
    SSLCertificateChainFile "C:/Program Files/Apache Software Foundation/Apache2.2/conf/CA.crt"
    # ↑ 中間 CA 証明書を指定する。
  3. Apache を再起動する。
    net stop Apache2.2 && net start Apache2.2
(参考)

0 件のコメント: