サーバー構築時にいつもやってることなので、メモ
使用するSSL証明書
- RapidSSL
- さくらインターネットで購入
- http://www.sakura.ad.jp/campaign/rapid_ssl/
サーバー
- Heroku
手順
- CSR(証明書情報)の生成
openssl dgst -md5 /var/log/system.log > rand.dat
openssl genrsa -rand rand.dat -des3 2048 > rapidssl.pem
openssl req -new -key rapidssl.pem -out rapidssl-csr.pem
- 色々聞かれる
-
A challenge password []:
とAn optional company name []:
は空でok -
Common Name (e.g. server FQDN or YOUR name) []:
- ここだけ間違わないように!
- 今回はワイルドカードでのサブドメインでの認証はできないので、FQDNで入力
-----
Country Name (2 letter code) [AU]:JP
State or Province Name (full name) [Some-State]:
Locality Name (eg, city) []:
Organization Name (eg, company) [Internet Widgits Pty Ltd]:
Organizational Unit Name (eg, section) []:
Common Name (e.g. server FQDN or YOUR name) []:
Email Address []:
Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:
An optional company name []:
- 購入画面に進む
- CSR(証明書情報)の内容確認のフォームが表示されるので上記のrapidssl-csr.pemの中身をコピーして、textareaに貼り付ける
-
30分程度待つ
-
[契約情報] -> [契約サービスの確認] -> SSL ラピッドSSLの表のところのサーバ- - 証明書のボタンを押す
-
手続きの欄にボタンがあればそれを押す
-
htmlファイルがダウンロードされるので、DocumentRoot直下にダウンロードしたファイルを設置
-
5分以内にサーバーの確認が取れるので、再度上記のページに行くと
サーバー証明書DL
というボタンに変わってるのでボタンを押す -
server.crt
がダウンロードされる
cp -rp server.crt cert.pem
- サーバ証明書と中間CA証明書の結合
- 中間CA証明書は以下から、
-----BEGIN CERTIFICATE-----
から-----END CERTIFICATE-----
までをコピー -
cert.pem
を以下の順番に並ぶようにファイル作成
- 中間CA証明書は以下から、
サーバー証明書
中間証明書
- 秘密鍵のパスワードを解除したければ
openssl rsa -in rapidssl.pem -out cert.key
- Herokuサーバーへ反映
heroku certs:update cert.pem cert.key --app [app name]