2011年04月14日
このエントリーをはてなブックマークに追加
今回お客様の環境で、 Apache に SSL証明書をインストールしましたのでメモ。
※ 今回は認証機関から発行された正規の証明書をインストールしました。

流れとしては、
1. 秘密鍵の作成
2. リクエストキーの作成 → 証明書機関への送付
3. 証明書のインストール([1]で作成した秘密鍵も使います)

1.秘密鍵の作成
※僕の場合は root で行いました。
mkdir /root/ssl
cd /root/ssl

ベリサインのサイトを参考に
# openssl md5 * > rand.dat
# openssl genrsa -rand rand.dat -des3 2048 > 2011_url_key.pem
※ 2048は暗号化の強度になります。最近の証明書はほとんど2048が必須のようです
※ ここで作成される2011_url_key.pemが秘密鍵ファイルになります。

2. リクエストキー(CSR)の作成
# openssl req -new -key 2011_url_key.pem -out 2011_url_csr.pem

※各種情報の入力
パスフレーズは必ず覚えておきましょう
コモンネームと国は注意します。
コモンネームは、SSLで公開するURLを必ず入力します。
例: secure.example.com とすれば、 https:secure.example.com/ となります
国は日本の場合は大文字 JP となります。

作成されたリクエストキーはテキストをもとに認証機関に送付します。場合によってはブラウザで申請できる場合もあります。この情報は基本的には外部に漏れても安全です。

3. 証明書のインストール
まずは [1] で作成した秘密鍵のファイルを確認します
送られてきた証明書ファイルを linux 上に配置します
通常メールなどで送られてくるので、以下のようにして貼り付けます
# vi /root/ssl/2011_url_cert.pem

このファイルを適当な場所に配置します
例: /etc/httpd/conf.d/ssl/
# cp -p /root/ssl/*.pem /etc/httpd/conf.d/ssl/

conf ファイルを編集します
# vi /etc/httpd/conf.d/ssl.conf
SSLCertificateFile
SSLCertificateKeyFile

上記の行を探し、
SSLCertificateFile には証明書ファイルをフルパスで、
SSLCertificateKeyFile には秘密鍵ファイルをフルパスで記載します。

例:
SSLCertificateFile /etc/httpd/conf.d/ssl/2011_url_cert.pem
SSLCertificateKeyFile /etc/httpd/conf.d/ssl/2011_url_key.pem

※止められるサーバーであれば、まずはここで apache の再起動を行います
※パスフレーズの入力をする必要があります。覚えていない場合は注意!
# /etc/init.d/httpd restart

うまくいくとパスフレーズが求められます
--------------------------------------------
Starting httpd: Apache/2.2.x mod_ssl/2.2.x (Pass Phrase Dialog)
Some of your private key files are encrypted for security reasons.
In order to read them you have to provide the pass phrases.
--------------------------------------------

毎回パスフレーズの入力は大変なので、以下の通り修正します。
# vi /etc/httpd/conf.d/ssl.conf
SSLPassPhraseDialog exec:[スクリプトまでのフルパス]

スクリプトの作成
# vi /etc/httpd/conf.d/ssl/keypass.sh
-----------------------
#!/bin/sh
echo "キーフレーズ"
-----------------------

※上記 sh ファイルには必ず実行権限を付与します


stock_value at 21:33│Comments(0)TrackBack(0)技術:2011年 

トラックバックURL

この記事にコメントする

名前:
URL:
  情報を記憶: 評価: 顔