herokuのssl証明書を更新する

2014-05-07

背景


herokuアプリでサブドメインについてもssl通信を利用するため、

ルートからワイルドカードに差し替えを行った。

前のが結構残ってて、もったいないけど。。。

メモ


1. 証明書のコピー

まずは認証会社から送られてきたssl証明書をcrtファイルに保存する。

確認コマンドは次のとおり。

  • 期限の確認
openssl x509 -in site.crt -noout -dates
  • 中身の確認
openssl x509 -text -noout -in site.crt

2. (RapidSSLの場合)

RaidSSL自体のクロスルート仕様の中間証明書も必要。
次のコマンドで自分のサイト証明書と合体させる。

curl https://knowledge.rapidssl.com/library/VERISIGN/ALL_OTHER/RapidSSL%20Intermediate/RapidSSL_CA_bundle.pem > rapidssl_bundle.pem

cat site.crt rapidssl_bundle.pem > server.key

** server.key
ssl通信をするための秘密鍵(rsa)

openssl rsa -in ssl_example_jp.key -check -noout

** site.csr : ssl通信の為の公開鍵 fqdn(httpsの後に続くドメイン名)がはいってる

openssl req -in site.csr -verify -noout

3. サーバに設置する秘密鍵の準備

証明書申請時に作成した秘密鍵のパスフレーズを解除する

openssl rsa -in site.key -out server.key

4. herokuにpush

heroku certs:update server.crt server.key --app <your app>

5. ssl通信の確認

curl -kvI https://hogehoge.xxxx.com 

おまけ


  • 鍵ファイル確認方法 次のmodulasキーが同じであればペアが確認できる。
$ openssl rsa -in site.key -text -noout -modulus
$ openssl req -in site.csr -text -noout -modulus
$ openssl x509 -text -noout -in site.crt -modulus
  • 現在のheroku設定状況
heroku certs
#Heroku  #SSL