パスフレーズ付きの秘密鍵 PEM ファイルからパスフレーズ解除版の秘密鍵ファイルを作る

openssl コマンドはやれることが多くてよく分からなくなるので、逆引きで記事にしていく。

今回は、パスフレーズ付きの秘密鍵ファイルを作ったものの、パスフレーズを入力せずに使いたい場面が出てきた時に、パスフレーズを解除した秘密鍵ファイルを生成させる手順。

パスフレーズを設定して暗号化されている秘密鍵ファイルは、テキストエディタで開くと以下のように Proc-Type とか DEK-info とかいう文言が見えるので区別が付くはず。

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

xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
-----END RSA PRIVATE KEY-----

このような文言がなければパスフレーズは設定されていないと思われる。

-----BEGIN RSA PRIVATE KEY-----
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
-----END RSA PRIVATE KEY-----

↑こんなヤツ。

で、パスフレーズを解除するには、以下のように openssl コマンドを叩く。

$ openssl rsa -in encrypted.key.pem

コマンドを叩くとパスフレーズを聞かれるので、入力する。すると標準出力にパスフレーズが解除された秘密鍵が出力されるので、コレをテキストエディタにコピペして保存すれば良い。