Apacheテックラボ

OpenSSL でサーバ証明書の作成

サーバ用秘密鍵(server.key)の作成

サーバ用秘密鍵を作成します。
ここでは、RSA鍵を生成し、暗号化アルゴリズムはDES3、鍵長2048ビットで指定しています。

openssl genrsa -des3 -out server.key 2048
  Enter PEM pass phrase:[パスフレーズ入力]
  Verifying password - Enter PEM pass phrase:[パスフレーズ入力]

パスワードを聞かれるので、秘密鍵用のパスワードを決めて入力してください。

サーバ用公開鍵(server.csr)の作成

ここでは、CAに送るデジタル証明書のリクエストファイルを作成します。

openssl req -new -key server.key -out server.csr
  Enter PEM pass phrase:[パスフレーズ入力]

Country Name (2 letter code) [AU]:JP (国コード)
State or Province Name (full name) [Some-State]:Tokyo (都道府県名)
Locality Name (eg, city) []:Shibuya (市町村名)
Organization Name (eg, company) [Internet Widgits Pty Ltd]:RhythmFactory (組織名)
Organizational Unit Name (eg, section) []:[部署名]
Common Name (eg, YOUR name) []:rfs.jp (ホスト名)
Email Address []:***@rfs.jp (管理者メールアドレス)
A challenge password []:[Enterのみ入力]
An optional company name []:[Enterのみ入力]

サーバ用秘密鍵(server.key)からのパスフレーズの削除

上記サーバ用秘密鍵のまま、SSL起動すると起動するたびにパスフレーズの入力が必要であり、セキュリティ上は好ましくありませんが、停電からの自動再起動時等は起動できなくなりますので、秘密鍵からパスフレーズを削除します。

cp server.key server.key.bk
openssl rsa -in server.key.bk -out server.key
  Enter PEM pass phrase:<パスフレーズ入力>

各ファイルの所有権の変更

所有者(root)以外アクセスできないよう、パーミッションを変更しておきます。

chmod -c -R 400 server.*

関連記事