Let's Encrypt を利用したSSLサイトにFirefoxでアクセスすると証明書エラーが発生する - Windows Server

Let's Encrypt を利用したSSLサイトにFirefoxでアクセスすると証明書エラーが発生する現象について紹介します。

現象

FireFoxでLet's Encryptを利用したSSLサイトにアクセスすると下図の「安全な接続ではありません」エラーメッセージが表示されます。Internet Explorer, Chrome, Microsoft Edge, Mobile Safari などの他のブラウザでは問題なくアクセスできます。


Let's Encryptを利用したSSLサイトでも、2016年3月以前に作成したSSLサイトではFireFoxでも問題なくアクセスできます。

原因

Let's Encryptが正式版に移行した際に、証明書をサイニングする中間証明機関が、"Let’s Encrypt Authority X1" から "Let’s Encrypt Authority X3"に変更されたことが原因のようです。"Let’s Encrypt Authority X1"と"Let’s Encrypt Authority X3"の両方の証明書がインストールされていると、"Let’s Encrypt Authority X3"を"Let’s Encrypt Authority X1"に取り違えてしまうことが原因と考えられています。

2016年の3月上旬に作成したLet's EncryptのSSL証明書です。公開ベータ版のSSL証明書は、"Let’s Encrypt Authority X1"が発行者になっています。


2016年の5月に作成したLet's EncryptのSSL証明書です。正式版のSSL証明書は、"Let’s Encrypt Authority X3"が発行者になっています。

対処法

"Let’s Encrypt Authority X1"の証明書を削除します。サーバーにベータ版のSSL証明書を持つサイトと正式版のSSL証明書を持つサイトが存在する場合は、すべて正式版のSSL証明書に更新します。

コントロールパネルで、「証明書」で検索し、[コンピューターの証明書の管理]をクリックします。


[certlm]のウィンドウが表示されます。


[中間証明機関]のノード内の[証明書]ノードを選択します。下図の画面が表示されます。、"Let’s Encrypt Authority X3"と"Let’s Encrypt Authority X1"の両方の証明書がインストールされていることが分かります。


"Let’s Encrypt Authority X1"の証明書をクリックして選択します。右クリックしポップアップメニューを表示します。メニューの[削除]をクリックして選択します。


下図の削除確認ダイアログが表示されます。[はい]ボタンをクリックして証明書を削除します。

"Let’s Encrypt Authority X1"の証明書が削除できました。


サイトの証明書のバインドを再度実行します。[インターネット インフォメーション サービス (IIS) マネージャー]を起動し、[サイト]ノード内の対象サイトをクリックして選択し、右クリックします。ポップアップメニューが表示されるので[バインドの編集]メニューをクリックします。


[サイト バインド]ウィンドウが表示されます。SSLサイトを選択し[編集]ボタンをクリックします。


[サイト バインドの編集]画面が表示されます。


[SSL 証明書]のコンボボックスをクリックします。一度[未選択]の項目を選択します。


もう一度コンボボックスでSSL証明書を選択します。ダイアログ下部の[OK]ボタンが押せる状態になりますので、OKボタンをクリックしてダイアログを閉じます。


[インターネット インフォメーション サービス (IIS) マネージャー]で対象のサイトをクリックして右クリックし、ポップアップメニューを表示します。メニューの[Web サイトの管理]メニューの[再起動]をクリックしてサービスを再起動します。


FireFoxでサイト表示を確認します。SSLのエラーメッセージがなくなりました。


上記でも改善しない場合は、Webサーバーのマシンを再起動して、再度確認します。

Let’s Encrypt Authority X3 の中間証明機関の証明書がインストールされていない場合

[certlm]で Let’s Encrypt Authority X3 の中間証明機関がインストールされていない場合は、以下の手順でLet’s Encrypt Authority X3 の中間証明書をインストールします。

Let’s Encrypt プロジェクトの証明書ページ (https://letsencrypt.org/certificates/)にアクセスします。
下図のページが表示されます。ページから"Let’s Encrypt Authority X3 (IdenTrust cross-signed)" の証明書をダウンロードします。(pem または der 形式のものをダウンロードします。)


証明書がダウンロードできます。


Webサーバーのマシンで証明書ファイルをダブルクリックします。下図の[証明書]ダイアログが表示されます。ダイアログ内の[証明書のインストール]ボタンをクリックします。


[証明書のインポートウィザード]ダイアログが表示されます。


保存場所の項目を[ローカルコンピューター]に選択します。ダイアログ下部の[次へ]ボタンをクリックします。


[証明書ストア]の画面が表示されます。[証明書をすべて次のストアに配置する]ラジオボタンをクリックして選択します。証明書ストアの右側の[参照]ボタンをクリックします。


[証明書ストアの選択]ダイアログが表示されます。一覧から[中間証明機関]を選択します。選択後[OK]ボタンをクリックしてダイアログを閉じます。


[証明書ストア:]に"中間証明機関"が選択されます。[次へ]ボタンをクリックします。


[証明書インポートウィザードの完了]画面が表示されます。ダイアログ下部の[完了]ボタンをクリックします。


証明書のインポートが完了すると、下図の「正しくインポートされました」ダイアログが表示されます。


以上の手順で、Let’s Encrypt Authority X3 の中間証明機関の証明書のインストールができました。

著者
iPentec.com の代表。ハードウェア、サーバー投資、管理などを担当。
Office 365やデータベースの記事なども担当。
掲載日: 2016-05-23
iPentec all rights reserverd.