みんな大好き、安くて速いRapidSSL!
ところで、最近になってAndroidで以下のような警告が出たことはありませんか?
RapidSSLに限った話では無いのですが、暗号の2010年問題といわれるように、RSAの1024ビットは廃止され、発行されるSSL証明書も2010年頃から順次2048ビットのものに入れ替わっています。
それに伴い、互換性などの理由から(ググったりVeriSignのサイトを探すとたくさん情報が出てきます)、たいていの場合、今まで不要だった中間証明書のインストールが必須になりました。
たとえばRapidSSLで証明書を発行した場合、以下のように中間証明書がついてきます。
これは公開されているものと同じです。
というか、ここをよく読めばAndroid2.2以前ではルート証明書入れろと書いてあるんですけど、更新だと見落としますよね;;
SSLサーバ証明書発行通知
**********************************************************
このメールは、ジオトラスト社より自動的に送信されています。
お問い合わせはヘルプデスクよりお願い致します。
このメールに返信頂きましても対応致しかねますのでご注意下さい。
**********************************************************この度はRapid-SSL.jpをご利用頂き有難うございました。
ご注文いただきましたSSLサーバ証明書の発行が完了いたしましたのでご連絡申し上げます。証明書は、このメールの末尾に表示されていますのでお客様サーバへインストールしてご利用下さい。また、中間証明書のインストールもお忘れになりませんようご注意下さい。(省略)
==========================
SSLサーバ証明書:-----BEGIN CERTIFICATE-----
ここがサーバ証明書
-----END CERTIFICATE-------------------------------
SSLサーバ証明書のご利用には以下の中間証明書のインストールが必要です。中間証明書(INTERMEDIATE CA):
--------------------------------------------BEGIN CERTIFICATE-----
ここが中間証明書
-----END CERTIFICATE-----
この設定を忘れる人はあまりいないと思うのですが(設定しないとPCでも警告が出ます)、これだけでは、Android2.2以前の端末で冒頭のエラーが発生します。
(IS03, IS05, SC-02Bなどで発生を確認しました)
Android端末でも警告が出ないようにするには、RapidSSLの中間証明書に加えて、上位のGeoTrustのルート証明書をサーバにインストールする必要があります。
中間証明書が複数階層の場合のインストール方法
GeoTrustのルート証明書
RapidSSLでの設定方法
要するに、SSLCACertificateFile(またはSSLCertificateChainFile)で指定したCA証明書の末尾に、GeoTrustの証明書をくっつけてやる必要があります。
これで、Androidでも警告が出なくなりました!
特に既存サイトを更新する際など、「今まで見られていたのに急にエラーになった!」といったクレームにならないように注意が必要ですね。
GingerBreadしか持っていない人は見落としがちなのでご注意を。
ところで、「RapidSSL」で検索すると「安いSSLで大丈夫ですか?VeriSign」の広告が出るのは露骨ですね・・・