ファイアウォール経由で特定の Web サーバーに接続していますが、そうするとファイアウォールからルート証明書の有効期限が切れていると警告が出ます。ファイアウォールをバイパスすると、すべてのブラウザーで証明書に問題は表示されず、チェーンを確認するとすべての証明書に問題はありません。
さらに詳しく調べたところ、ブラウザは実際には、サーバーから送信された期限切れの証明書を、Windows 証明書ストアの期限切れでない証明書に置き換えていることがわかりました。(サーバーは、ルート、中間証明書 1、中間証明書 2、サーバー証明書の 4 つの証明書のチェーンを送信します。中間証明書 1 は期限切れです。ブラウザ/OS によって置き換えられ、ブラウザのルート証明書になります。これは GlobalSign 証明書チェーンです。)
どうやら、それらは同じフレンドリ名を持ち、おそらく他の類似したプロパティも持っています (もちろん、公開キーは同じです)。IE/Chrome も同じことを行っているので、ブラウザーで使用される一部の Windows 機能とほとんど同じように見えます。
なぜこのようなことが起こるのでしょうか? 証明書を交換するにはどうしたらよいですか? また、私が知らない潜在的な危険性はありますか?
答え1
回答: Windows は、Web サーバーが提供する CA 証明書を無視します。オペレーティング システムの CA 証明書ストアに保存されている適切な CA 証明書と Web サーバーの証明書のみを比較します。これらの証明書はオペレーティング システムによって信頼されています。また、Windows には、オペレーティング システムの CA 証明書ストアにチェーンがまだ保存されていない場合、Web サーバーの証明書を発行した CA 証明書チェーンを取得する方法もあります。これに関する詳細は、次の場所を参照してください。
単に Web サイトにアクセスするだけで、ルート CA が信頼できるものとして PC にプッシュされるのでしょうか?
一部のファイアウォールは、Web サーバーから送信された CA 証明書をチェックし、証明書の 1 つが期限切れの場合にアクセスをブロックします。一般に、ファイアウォールは、Windows などの通常のオペレーティング システムと比較して、証明書に関する動作が異なります。
また、CA 証明書は異なるシリアル番号と有効期限で再発行できることもわかりました。証明書には同じ「フレンドリ名」とキー ペアが含まれます。
この特定のケースでは、Web サーバーはチェーンに属する 1 つの CA 証明書の古いバージョンを送信しており、ファイアウォールは証明書の有効期限が切れていることを検出し、Web サイトへのアクセスをブロックしています。ファイアウォールがバイパスされると、サイトにアクセスできるようになります。これは、Windows が新しいバージョンの CA 証明書を保持し、Web サーバーの証明書をそれと照合するためです。