この記事はアピリッツの技術ブログ「DoRuby」から移行した記事です。情報が古い可能性がありますのでご注意ください。
こんにちは。KBMJの本多です。
今回はサーバーのSSL証明書の更新時にたまに陥る問題と、それを解決する際に役立った情報を紹介したいと思います。
先日、とあるPC/携帯向けサイトの話にてSSL証明書を更新後、携帯端末で参照できなくなる問題が発生しました。
原因は用意したサーバー証明書と中間証明書の組み合わせが間違っているためでした。
PCブラウザでは中間証明書が間違っていてもブラウザ側で補完してくれるためエラーが出ないらしいのですが、
携帯端末ではそういうわけにはいかず、サイトにアクセスするとエラーが出ます。
最近はクロスルート証明書が登場した事で、サーバー証明書の種類によって設定方法が複雑化したりしていますが、
そもそも発行されたサーバー証明書はどの中間証明書を使うのが正しいか?それを確認しないことには始まりません。
本日は、発行されたサーバー証明書と中間証明書の中身を確認し、正しい組み合わせである事を調べる方法を紹介したいと思います。
ファイルの準備
windows環境にて、用意したサーバー証明書及び中間証明書を拡張子cerというファイルで保存します。
拡張子cerで保存したファイルをダブルクリックする事で、証明書の中身を参照する事が出来るようになります。
サーバー証明書の中身を確認
発行先:サイトのドメイン名
いきなりここが違った場合はもうそれは別のサーバー証明書です。証明書を発行した人に確認しましょう。
発行者:SSL証明書の発行会社、及び証明書の形式情報
ここに何が書かれてるかを覚えておきましょう。
有効期限
期間が更新されていることを確認しましょう。
中間証明書の中身を確認
発行先:サーバー証明書の「発行者」と同じ
先ほど確認したサーバー証明書の発行者と照らし合わせましょう。
今回は、ここが異なっていたため、適用後に不具合が発生しました。
中間証明書が間違っていた場合については、証明書を発行した会社のサイトからダウンロードできますので
サーバー証明書の「発行者」を元に、正しい中間証明書を取得しましょう。
あとはapacheに正しく設定すれば、携帯端末でもSSLのページが参照できるようになります。
SSL証明書の更新時に躓くパターンといえば、クロスルート証明書を絡めた中間証明書の設定部分が上手くできていない場合が多いイメージがありますが、たまにこういうパターンの落とし穴もあります。
更新する際には、一度中身を確認してみるとトラブル回避につながるかもしれません。