サーバー証明書の更新
SSL化から早いものでもう一年経った(前回の記事はこちら)。サーバー証明書の有効期限がそろそろ切れるよ、という通知メールが届いたので、期限まで2週間あるけどこの際、更新してしまいましょう。利用するのは去年と同じ、StartSSLのFreeのやつです。更新してわかったけど、今度は有効期限が3年になった。3年後に手順を覚えているといいんだがw
StartSSLのCertificationを入手するには、まず使用するパソコンに個人証明書を入れる必要がある。Validation WizardタブのEmail Validationを選ぶ。下の画像では、2番目のラジオボタンが該当する。
使用するパソコンで開けるメールアドレスを使ってValidationコードを入手し、次にCertification WizardタブでClient Certificatesを実行する。正常に完了すると、パソコンに個人証明書をダウンロードすることが出来る。この個人証明書はバックアップすることが推奨されているので、どこかにバックアップしておく。紛失した場合は、再発行か、再認証を行うことになる。使うのは、下の画像では右端のFor Free Userのカラム。
使用するパソコンに個人証明書を入れたら、次にDomain Validationを行う。先ほどと同じ、Validation Wizardタブから、今度はDomain Validationを選んで、使用するドメイン(例えば、arigato.esであり、FQDNではない)のValidationコードを入手する。その際の送り先は、postmaster@arigato.esとかwebmaster@arigato.esなどのように、StartSSLが指定するアドレスにメールが届かなければならない。受信したメールは転送されても構わない。ここでValidateされたドメインは30日間有効なので、その期間内にCertificateを取るのが基本的な行動となる。
次に、Certification WizardタブでSSL Certificateを選んで、先ほどValidateされたドメインに対するサーバー証明書を発行する。その際のKEYとCSRの発行は、サーバー上のコンソールで指定されたコマンドを実行することで行うと便利である。
openssl req -newkey rsa:2048 -keyout yourname.key -out yourname.csr
コンソール上で無事CSRが生成されたら、エディタ等で開いてコピーし、Certification Wizardにペーストする。更新なので、サーバー証明書はここですぐに発行される。hereリンクを辿って、サーバー証明書がバンドルされたZIPファイルをダウンロードする。使用しているHTTPサーバー用のファイルを解凍してサーバーへアップロードし、設定ファイルを新しいサーバー証明書を使用するように書き換えて、HTTPサーバーを再起動すれば更新は終了のはず。
設定例:Apacheの場合
このサーバーの場合、中間証明書の順番がAndroid系のChromeには影響を与えるようだ。root_bundleを先に読ませると、Chromeがエラーを返すことがあるので、順番を最後にした。この辺はちょっと勉強不足かも。
#今回取得したサーバー証明書 SSLCertificateFile /etc/ssl/certs/server.crt #取得する時にサーバー上で作成したプライベートキー SSLCertificateKeyFile /etc/ssl/certs/server.key #StartSSLからダウンロードしたSHA1用中間証明書 SSLCertificateChainFile /etc/ssl/certs/sub.class1.server.ca.pem #StartSSLからダウンロードしたSHA2用中間証明書 SSLCertificateChainFile /etc/ssl/certs/sub.class1.server.sha2.ca.crt #今回取得したサーバー用の中間証明書 SSLCertificateChainFile /etc/ssl/certs/1_root_bundle.crt #SHA1用ルート証明書 SSLCACertificateFile /etc/ssl/certs/ca.pem #SHA2用ルート証明書 SSLCACertificateFile /etc/ssl/certs/ca.crt
今回も、SSLチェックサイトで無事「A」ランクをいただきました。