仕事でWebサイトをhttps化するとき、SSL証明書のセットをもらったりする場合、いつもは、
- 証明書
- 秘密鍵
- 中間証明書
の3セットをもらったりするんだけど、今回、
- (クロス)ルート証明書
ってのもついてきた。
(クロス)ルート証明書っちゅうのもWebサーバーに設置する必要があるんかい?
結論
(クロス)ルート証明書は、
無くてもたいていのブラウザでは問題ないらしいが(中間証明書と証明書だけで認証できる)、古いブラウザとかだと対応してない場合があるらしいので、サーバーへインストールする必要がある。
ルート証明書インスコやり方
中間証明書にくっつける。
順番が大事。
中間証明書が上で、
ルート証明書が、下。
-----begin certificate-----
(中間証明書の内容)
-----end certificate-----
-----begin certificate-----
(ルート証明書の内容)
-----end certificate-----
ってなるようにする。
結合するときは、Linuxの場合、
cat ルート証明書ファイル >> 中間証明書ファイル
とかすればいい。
>>
じゃなくて間違って
>
にしないように。
結合後は確認すること。
cat 中間証明書ファイル(+ルート証明書)
Apacheの設定
Apacheが2.4.8 より前な場合で、
Apache + mod_sslの場合、
結合した .cer ファイルを SSLCertificateChainFile ディレクティブで指定します。
Apacheが2.4.8以降の場合は SSLCertificateChainFile ディレクティブがなくなるので、さらにメインの証明書とくっつける必要がある。
順番的には、
-----BEGIN CERTIFICATE-----
(証明書の内容)
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
(中間証明書の内容)
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
(ルート証明書の内容)
-----END CERTIFICATE-----
となる。
コメント