SOFTELメモ Developer's blog

会社概要 ブログ 調査依頼 社員募集 ...

【SSL】秘密鍵のパスフレーズを解除する

問題

httpsできるようにしたけど、Apacheの再起動などのときにパスワードを入力しないといけなくて困っている。

答え

秘密鍵のパスフレーズを解除するとよい。

CSR作成時に、パスワード(PEM phrase)を指定して秘密鍵を暗号化できる。しかし、暗号化した秘密鍵をそのまま使用すると、Apacheの起動のたびにパスワードの入力を求められる。そのため、暗号化された秘密鍵は復号化して使うことが多い。

復号化した秘密鍵はroot以外は読めない状態で保存するのがよい。

openssl秘密鍵復号化

以下のopensslコマンドを実行すると、パスワードが要求されます。

# openssl rsa -in ssl.pk -out ssl.nopass.pk

パスワードを入力すると、Apache等がパスワードなしで利用できる形式へ変換してくれる。

秘密鍵が暗号化されているかどうかの確認方法

秘密鍵が暗号化されているかどうかはファイルの最初を見るとわかる。

最初の数行が以下のように記述されている場合は、暗号化されている。

-----BEGIN RSA PRIVATE KEY-----
Proc-Type: 4,ENCRYPTED
DEK-Info: DES-EDE3-CBC,5CB5A3326B9070DB

fNidbcRFnGBp5joWIbV3NdGxuOTGJiBc2xe71AY/U0dtRXwRMQ1K7LmA8F856uEu

秘密鍵が復号化されると、以下のような形式になっている。

-----BEGIN RSA PRIVATE KEY-----
MIIEpAIBAAKCAQEAwp1rwevtSOH1Gb7i8AOIUijoSRA8RMd0xnRIUakxA6lBGbch
jdPLc726JKwQl4BNGCw06X+JN4CbiUj5Un5KRGvkjpgf303pj/4nKyQi052Vi+uK
(中略)
8KyIakU/3W+S970xdRy3dK3i0EIT0hDSw7DXcMRkIdc/Mp7vf9NBkq90DKCF02kn
tG6+qO+Vcq3Aphl3bhl2bKLY4rX7B9JgA8P/c4ItFiB7K3ZFOwUgCQ==
-----END RSA PRIVATE KEY-----

関連するメモ

コメント