SSLのパスフレーズ(Pass Phrase Dialog)入力を省略してApacheを起動する

このエントリーをはてなブックマークに追加

パスフレーズ付きでSSLの鍵を作ると、Apache再起動の際にパスフレーズの入力を求められます。

こんな感じです。

通常の起動プロセス

[root@www5254ue ~]# service httpd restart
httpd を停止中:                                            [  OK  ]
httpd を起動中: Apache/2.2.15 mod_ssl/2.2.15 (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.

Server weblogy.co.jp:443 (RSA)
Enter pass phrase:

Apache:mod_ssl:Error: Pass phrase incorrect (5 more retries permitted).
Enter pass phrase:

OK: Pass Phrase Dialog successful.
                                                           [  OK  ]

でもこれだと再起動の際に毎回入力するのは面倒だし、何より自動再起動の際にここでストップしてしまいます。

そこでこのパスフレーズの入力を省略して起動できるようにしてみましょう。

方法は2つあります。

1.パスフレーズ無しの鍵にする
2.パスフレーズ応答スクリプトを設定する

1.パスフレーズ無しの鍵にする

1については、最初からパスフレーズなしで作る方法と、後からパスフレーズを消す方法とあります。

1-A パスフレーズなしで鍵を生成する場合

通常の作成方法

# openssl genrsa -des3 -out ./ssl.key/xxxxxxx.key 2048

パスワードなしの作成方法

# openssl genrsa -out ./ssl.key/xxxxxxx.key 2048

1-B パスフレーズを後から解除する場合

元ファイルのバックアップ

# cp xxxxxxx.key xxxxxxx.key.org

パスフレーズの解除

# openssl rsa -in xxxxxxx.key -out xxxxxxx.key

これで、パスフレーズ無しの鍵ができます。

パスワード自動応答スクリプトを設置する

まず、パスワードを自動的に応答するシェルスクリプトを書きます。シェルスクリプトと言っても、パスフレーズをエコーするだけの単純なものです。
これはどこに設置してもいいんですが、SSL関連の設定が置いてある/etc/ssl/certs/に置くことにします。

vi /etc/ssl/certs/pass_phrase.sh
#!/bin/sh
echo "your passphrase"

実行権限を与えておきます。

chmod 500 /etc/ssl/certs/pass_phrase.sh

次に、SSLの設定を変更します。

# vi /etc/httpd/conf.d/ssl.conf
#   Pass Phrase Dialog:
#   Configure the pass phrase gathering process.
#   The filtering dialog program (`builtin' is a internal
#   terminal dialog) has to provide the pass phrase on stdout.
#SSLPassPhraseDialog  builtin
SSLPassPhraseDialog  exec:/etc/ssl/certs/pass_phrase.sh

SSL設定の中野、パスフレーズダイアログの部分を、「builtin」から、先ほどのスクリプトの実行指定に変更しました。

これで完成です。再起動を試してみましょう。

# service httpd restart
httpd を停止中: [ OK ]
httpd を起動中: [ OK ]

SSLのパスフレーズ(Pass Phrase Dialog)入力を省略してApacheを起動する」への1件のフィードバック

  1. ピンバック: RapidSSLでブログをSSL化してみた | ふぁろぐねっと

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

次のHTML タグと属性が使えます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>