信頼ストア内のルート CA のみを使用して SSL 接続を確立する

信頼ストア内のルート CA のみを使用して SSL 接続を確立する

SSL クライアント/サーバー アプリケーションがあります。SSL

クライアントの信頼ストアには、ルート証明機関 (rootCA1 と呼ぶ) が 1 つだけ設定されています。
ただし、SSL サーバーは中間 CA (interCA1 と呼ぶ) によって署名された証明書を生成します。
中間 CA には、rootCA1 (クライアントが信頼する) によって署名された証明書 (deviceCert と呼ぶ) があります。SSL サーバーは、ssl hello 中に interCA1 と rootCA1 の証明書と deviceCert を生成します。

現在、opensslはクライアント側でそのような接続を拒否します。openssl

は、次の情報を参照して信頼チェーンを確立できるはずです。
deviceCert--signed by-->interCA1--signed by-->rootCA1

私の理解では、rootCA1 を信頼しており、信頼のチェーンが確認できます。

では、なぜ失敗するのでしょうか? クライアントの信頼ストアに中間 CA を設定する必要があるのはなぜですか?

答え1

すべての中間 CA の証明書を構成する理由は、次のとおりだと思います。

議論のために、信頼チェーンにはルート CA の証明書のみが必要であると仮定します。
クライアントは、ルート CA によって署名されたすべての証明書と、ルート CA によって署名された証明書を持つ他の中間 CA (またはルート CA によって署名された証明書を持つ他の中間 CA) を信頼できます。

ここで、中間 CA の秘密鍵が何らかの理由で侵害された場合、問題が発生します。

したがって、信頼ストアに中間 CA を構成することにより、クライアントは、自身によって署名された証明書を信頼し、その秘密キーが侵害されていないことを宣言します。

もちろんCRLもありますが、それはサブトピックです

関連情報