SSLの導入。(Apache + OpenSSL) | φ(..)メモとして残しておこう…

SSLの導入。(Apache + OpenSSL)

秘密鍵の作成。


# openssl genrsa -rand rand.dat -out example.key 2048


[genrsa] 秘密鍵の作成を指示するコマンド
[-rand] ファイル名 ランダムデータのファイル名を指定(ランダムデータがない場合は省略)
[-out] ファイル名 作成した秘密鍵の保存先ファイル名を指定。
[2048] 秘密鍵のビット長。2048ビット

作成に成功すると、-outで指定したファイル(example.key)が作成される。


CSRの作成。

# openssl req -new -key example.key -out example.csr

[req] CSRの操作を指示するコマンド
[-new] CSR新規作成
[-key] ファイル名 先ほど作成した秘密鍵ファイルを指定
[-out] ファイル名 作成したCSRの保存先ファイル名を指定。


入力する項目
Country Name (国/地域)→2文字国コード(ISO-3166)。必ず JP と入力する
State or Province Name(都道府県)→本社所在地の都道府県名(Okinawa)
Locality Name(市区町村)→本社所在地の市区町村名(Naha-city)
Organization Name(組織)→組織、会社名の英文正式名称(Example Co.,Ltd)
Organizational Unit Name(部門)→申請部署名指定しないときは '.'(ピリオド)
Common Name(一般名)→SSL接続する際に使われるドメイン名(example.jp)


ワイルドカード証明書はサブドメイン名を「*」にする(例:*.example.jp)。

これで、作成した「example.csr」の中身を認証局に申請。
認証局からもらったサーバー証明書を「example.crt」という名前で保存。




ApacheのSSL設定(サーバー証明書のインストール)は、だいたいこんな感じ。


SSLEngine on

SSLCertificateFile /***/example.crt ←認証局から貰ったサーバー証明書
SSLCertificateKeyFile /***/example.key ←最初に作成したサーバー鍵
SSLCACertificateFile /ssl/example.ca ←中間証明書


中間CA証明書の作成は以下のような感じで。

-----BEGIN CERTIFICATE-----
(2階層目の中間CA証明書)
-----END CERTIFICATE-----

-----BEGIN CERTIFICATE-----
(2階層目の中間CA証明書)
-----END CERTIFICATE-----


だいたい、サーバー証明書と一緒に送られてくるパターンが多い。


openssl-perlのインストールはyumコマンドで。
# yum -y install openssl-perl