こんにちは。
私が運営しているサーバーはTinycore Linuxによるセルフホスティングです。
遅ればせながら昨年SSL化しました。さくらインターネットのSSLを利用しています。
その中でも一番安い、JPRSドメイン認証型、1年972円です。
エラーでハマるッ!
JPRSのSSLは、有効期限が切れる2ヶ月くらい前に案内が来ますので、継続の場合はそのまま申し込めばOkです。
申し込んで支払いを行うと、認証ファイルが表示されるので、これをダウンロードして自分のサーバに置くことでサーバの持ち主が自分であることを認証します。
認証が終わると証明書ファイルがダウンロードできるようになるので、取得してサーバに配備します。
これで終わりかと思ったのですが、なぜか証明書が正しくないというエラーが出ます。
最初は全てのブラウザでエラーが出ていたのですが、そのうちFirefoxだけになりました。
このようなエラー画面になります。「発行者の証明書が不明」だそうです。私はJPRSに身元を証明してもらったのではなかったのか?!
こちらが詳細。証明書自体は正しく設置されているように見えます。
原因は中間証明書ッ!
わからないので、さくらインターネットのカスタマーサポートに質問を出して、正座して返事を待ったのですが、蓋を開けてみれば簡単なことでした。
「正しい中間証明書がインストールされていない」
のが原因でした。
って、上のFirefoxの画面にも「サーバーが適正な中間証明書を送信しない可能性があります」って書いてあるやん!!
語るに落ちてる。
というわけで、修正は以下の通りです。
- JPRSのサーバ証明書発行サービスのページから中間証明書をダウンロードする。私の場合、「中間CA証明書」の「ドメイン認証型」で、サーバ証明書の日付があっているものをダウンロードします。
- ダウンロードした証明書(JPRS_DVCA_G3_PEM.cer)を、Apacheの設定ディレクトリ(例 /usr/local/etc/httpd)に置いて、ssl.confでその証明書ファイルを指定します。方法は以下参照。
- Apacheを再起動します。
上記2.には注意が必要です。Apache 2.4.8以降の場合はSSLCertificateChainFileが廃止されているので、中間CA証明書とサーバ証明書を1つのファイルにマージして、SSLCertificateFileにする必要があります。
(Apache 2.4.7以前)
SSLCertificateFile /usr/local/apache2/conf/server.cer
SSLCertificateKeyFile /usr/local/apache2/conf/server.key
SSLCertificateChainFile /usr/local/apache2/conf/JPRS_DVCA_G3_PEM.cer
(Apache 2.4.8以降)
SSLCertificateFile /usr/local/apache2/conf/merged.cer
SSLCertificateKeyFile /usr/local/apache2/conf/server.key
merged.cerファイルはサーバ証明書と中間証明書をマージしたものになります。
-----BEGIN CERTIFICATE-----
MII...サーバ証明書
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
MII...中間証明書
-----END CERTIFICATE-----
以下のようにして作成できます。
$ cat server.cer JPRS_DVCA_G3_PEM.cer > merged.cer
上記で一応サイトのSSL対応はできたことになりますが、実際にはWebページを対応させないといけません。
さくらさん回答は的確ッ!
実は、中間証明書は昨年のSSL導入時にもインストールしており、自分で書いた記事を今回ちゃんと読んでいれば防げたエラーでした。
既に設置済みだからと気を抜いたのが敗因です。
今回、さくらインターネットのカスタマーサポートにお世話になったのですが、回答がなかなか的確です。
しかも、私のように年間972円しか払っていないユーザーにもちゃんとメール対応してくれます。
ありがたいですね。
それにしても、Firefoxだけエラーになっていたのが不思議です。
中間証明書はそれぞれサーバ証明書の有効期限に対応したものがあり、Firefoxはその中間証明書の期限対応を厳密にやっているために出たエラーのように見えます。
一方、中間証明書自身にも有効期限があり、昨年から使っていた中間証明書も2028年まで有効ではあります。SafariやChromeなど、中間証明書が間違っていてもエラーの出なかったブラウザは、中間証明書の期限の対応がいい加減なのでしょうかね?
匿名
画面が真っ暗、でもカーソルは出てる状況。
探して、ここにたどり着きました。
パスワード入力で、復活!
修理に出す寸前でした。ホントにありがとう!