注意事項
opensslのバージョンは1.0以降を想定してます。
1. キーペア作成
下記コマンドを実行
$ openssl genrsa -des3 2048 > (出力したいキーファイル名)
2. CSR作成
キーペアができたら下記コマンドを実行
$ openssl req -new -key (1で作成したキーファイル) -out (出力したいCSRファイル名)
コマンドを実行するとプロンプトが表示されてサーバー識別名(DN)情報の入力を求められるので、求められるがままに入力する。
入力する項目は下記の通り
-
Country Name:
国名
ISOによる2文字の国名の符号
日本の場合は"JP"でOK -
State or Province Name:
都道府県名 -
Locality Name:
市区町村名 -
Organization Name:
組織名 -
Organizational Unit Name:
部署名 -
Common Name:
サーバのFQDN
3. CSRの内容(DN情報)確認
下記コマンドで2で入力したDN情報を確認できる。
$ openssl req -noout -text -in (CSRファイル名)
4 Keyファイルの確認方法
下記コマンドを入力して
$ openssl rsa -noout -check -in (Keyファイル名)
RSA key ok
と出力されればOK。
5. CSRとKeyファイルの比較
CSRファイルとKeyファイルのペアが正しいかどうか比較する。
下記コマンドを実行して表示される秘密鍵の内容のうち、modulus の内容と
$ openssl rsa -in (keyファイル名) -text
下記コマンドを実行して表示されるCSRファイルの内容のうち、__modulus__の内容を比較して同じであれば、それぞれ対になるCSRファイルとKeyファイルということになる。
$ openssl req -in (csrファイル名) -text
6. CER (CRT) ファイルの内容確認
下記コマンドでベリサインなどから購入したSSLサーバ証明書の内容を確認できる。
$ openssl x509 -noout -text -in (cerファイル名)
7. 秘密鍵のパスフレーズの解除
パスフレーズを設定したままだと、apacheやnginxを起動する際にパスフレーズの入力を求められる。
logrotateなどで自動的に再起動させる場合に不都合なので下記コマンドで、パスフレーズを解除する。
$ openssl rsa -in (keyファイル名) -out (パスフレーズ解除済みkeyファイル名)