web-dev-qa-db-ja.com

クライアントが不完全な証明書チェーンを処理する方法を理解する

クライアント(ブラウザなど)は、不足している中間証明書をどのように処理しますか?

次の回答では、証明書をダウンロードするか、キャッシュされた証明書を使用することが説明されています。 https://security.stackexchange.com/a/16366

これがどのように機能するのかわかりません。どこからダウンロードしますか?中間証明書をダウンロードしてキャッシュできる場合、なぜ中間証明書ストアを使用するのですか?これは安全な動作と見なされているので、プロトコルの一部にしないでください。

2
Ubeogesh

一部の証明書は、AIA(Authority Information Access)フィールドを使用して、チェーン内の次の証明書をダウンロードできるURLを指定します。

たとえば、security.stackexchange.comの証明書を表示すると、*。stackexchange.comの証明書はLet's Encryptによって発行されているため、*。stackexchange.comの証明書の上のチェーンの次の証明書が表示されます。 Let's Encrypt Authority X3の証明書です。案の定、*。stackexchange.comの証明書のAIAフィールドを見ると、次のURL( http://cert.int-x3.letsencrypt.org/ )が表示されますLet's Encrypt Authority X3の証明書をダウンロードできます。

ただし、すべてのブラウザがAIA情報を読み取り、AIAで指定されたURLから不足している中間証明書をフェッチするかどうかはわかりません。したがって、信頼性を最大にするために、チェーン内のすべての証明書(すべての中間証明書とサイトの終了証明書を含む)を1つの.crtファイルにバンドルすることをお勧めします。

AIAの詳細については、 https://discussions.qualys.com/thread/12098 を参照してください。

2
mti2935

中間証明書は、CAとサイトの間にあります。ほとんどのブラウザはそれらをキャッシュし、異なるサイト間で使用します。証明書がない場合、一部のユーザーが信頼エラーを受け取る可能性があります。そのため、証明書の拡張である機関情報アクセスが使用されます。証明書の発行者にご案内します。そしてこの方法でそれはあなたをトラストアンカーに導きます。プロセスは長いため、プロトコル自体には含まれず、キャッシュされます。

1
Urooj Badar