現在運営している某サイトを SSL化していて、その SSL証明書を GoGetSSL という海外の販売所(販売代理店)で購入・申請していたのですが、最近、更新時期が近づいてきたので更新作業をしたのです。作業自体は小一時間ほどで終わったのですが、事前にあれこれ調べた時間の方が掛かったなぁ、と。更新作業自体が頻繁に発生することもないので、次に作業するときの備忘録として書き残しておきたいと思います。
《過去記事》
akiyoko.hatenablog.jp
条件
- 前回と同じドメイン認証(DV)証明書「RapidSSL」を購入
- CSR の内容は同じ(つまり今回は再作成しない)
- ドメインは「お名前.com」で管理している
- サーバは Ubuntu、Nginx でドメインの設定をしている
作業フロー
1)Whois情報公開代行設定を解除
↓
2)前回と同じ種類・ブランドのSSL証明書を購入
↓
3)CSRを作成(今回はしない!)
↓
4)CSRを申請
↓
5)サーバのSSL証明書を更新
SSL証明書の更新手順
1)Whois情報公開代行設定を解除
お名前.com の ドメインNavi にログインし、「ドメイン設定」->「ドメインWhois情報変更」から、対象のドメイン名をクリックして「登録者情報の変更」にチェックを入れると登録者情報が表示されるので、住所などの情報が正しいか確認しておきます。
次に、「Navi TOP」のドメイン一覧から、対象のドメインの「Whois情報公開代行」の「解除する」をクリックして、Whois情報公開代行の設定を解除します。
Whois情報公開代行サービスを解除したら、Whois検索で、自分で取得したドメインの Whois情報を確認しておきます。Registrant(登録者名)に自分の登録者情報が表示されていれば OKです。
2)前回と同じ種類・ブランドのSSL証明書を購入
GoGetSSL にログインします。
「Manage SSL certificate」をクリックしてSSL証明書の一覧を表示して、前回のオーダー(RapidSSL Standard)の「View」をクリックします。
「Start Renewal」をクリックします。
今回はまとめて 3年分を選択します。
PayPal で購入しました。
3)CSRを作成(今回はしない!)
更新の度に新しいCSRを生成する必要はありますか
更新の度に新しいキーペアファイルを作成し、新しいキーペアファイルより生成した新しいCSRで申請することをお勧めします。
同じキーペアファイルを利用し続けるのではなく、サーバIDの更新の度に新たなキーペアに切り替えることがセキュリティ上も理想的です。またMicrosoft IIS 5.0など、ウェブサーバアプリケーションによっては、前回取得時と同じCSRで取得したサーバIDでは、インストールができない仕様のものもあります。
ということで、セキュリティ上はアレかもしれませんが、きちんと管理できているのでそのまま前回の CSR を使い回すことにします。
4)CSRを申請
SSL証明書の一覧から「Generate」をクリックします。
Order Type | Renewal order |
Web Server Software | OTHER(「Nginx」は選べなくなったようです) |
Paste your CSR | 前回の CSRをまるごとコピペ |
Please select signature algorithm | SHA2 |
と適宜入力して「Validate CSR」をクリックします。
「Get WHOIS email」をクリックし、送達可能なメールアドレスを選択して、「Next Step」をクリック。
氏名、メールアドレス、電話番号などを適宜入力後、「Complete Generation」をクリックします。
完了しました。証明書の一覧画面を見てみます。
まだ「Processing」になっています。
しばらくすると、メールバリデーションのための確認メールが届くので、メール中のリンクをクリックします。
「承認します」をクリック。
「Active」になりました。
「Valid from」「Valid till」が更新されています。
なお、3年分更新しましたが、1ヶ月のボーナスが付いているようです。
最後に SSL証明書と中間証明書をダウンロードします。
5)サーバのSSL証明書を更新
以降、サーバのIPアドレスを「52.xxx.xxx.xxx」、ドメインを「akiyoko.com」、アプリ名を「akiyokoproject」として進めます。
クライアント(Mac)からサーバに SSL証明書と中間証明書を転送します。
$ scp -i ~/.ssh/aws_p1.pem ~/Downloads/www_akiyoko_com.crt ubuntu@52.xxx.xxx.xxx:/tmp/ $ scp -i ~/.ssh/aws_p1.pem ~/Downloads/www_akiyoko_com.ca-bundle ubuntu@52.xxx.xxx.xxx:/tmp/
次に、Ubuntu 上で、SSL証明書を前回のものから入れ替えます。
$ sudo cp /etc/nginx/conf/akiyokoproject.crt /etc/nginx/conf/akiyokoproject.crt.201606 $ sudo cp /etc/nginx/conf/akiyokoproject.key /etc/nginx/conf/akiyokoproject.key.201606 $ sudo cp /tmp/www_akiyoko_com.crt /etc/nginx/conf/akiyokoproject.crt ### 中間証明書を連結する $ cat /tmp/www_akiyoko_com.ca-bundle | sudo tee -a /etc/nginx/conf/akiyokoproject.crt
CSRを新しく生成した場合は、秘密鍵(/etc/nginx/conf/akiyokoproject.key)を新しく書き換えておきます(今回は書き換えません)。
SSL証明書・秘密鍵のオーナーが root.root、パーミッションが 644 になっていることを確認。
$ ls -al /etc/nginx/conf/ total 40 drwxr-xr-x 2 root root 4096 Jun 10 20:08 . drwxr-xr-x 6 root root 4096 Jul 8 2016 .. -rw-r--r-- 1 root root 5070 Jun 10 20:09 akiyokoproject.crt -rw-r--r-- 1 root root 4749 Jun 10 20:08 akiyokoproject.crt.201606 -rw-r--r-- 1 root root 1111 Jul 8 2016 akiyokoproject.crt.orig -rw-r--r-- 1 root root 1704 Jul 8 2016 akiyokoproject.key -rw-r--r-- 1 root root 1704 Jun 10 20:08 akiyokoproject.key.201606 -rw-r--r-- 1 root root 1704 Jul 8 2016 akiyokoproject.key.orig
Nginx をリロードします。
$ sudo service nginx reload
完了したら、SSL証明書のチェックをします。
Check SSL Installation. Test SSL now!
でチェック可能です。
「akiyoko.com」などと入力すると、診断結果が出力されます。
あるいは、
https://cryptoreport.geotrust.com/checker/views/certCheck.jsp
の方がスッキリしていていいかもしれません。
最後に忘れずに、Whois情報公開代行設定を再設定をして完了です。