証明書チェーン
信頼パスを検証します
「証明書チェーン」はCoddyKit上の無料Cyber Security Academyレッスンです。 これはレッスン3/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはCyber Security Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 Cyber Security Academyコースには全4レッスンが含まれています。
証明書チェーンとは
証明書チェーン(または信頼チェーン)は、サーバーのリーフ証明書から信頼されたルート証明書までをつなぐ、証明書の順序付きリストです。
各証明書は、その一つ上位の証明書によって署名されています。
3つのリンク
一般的なチェーンは、次の3つの部分で構成されます。
- リーフ(エンドエンティティ)証明書:実際のサーバー用の証明書です。
- 中間証明書:リーフ証明書に署名した証明書です。
- ルート証明書:中間証明書に署名した証明書です。
検証でチェーンをたどる方法
検証では、クライアントが上位に向かって各署名を確認します。
- ルートの公開鍵で中間証明書を検証します。
- 中間証明書の公開鍵でリーフ証明書を検証します。
すべての署名が正しく検証され、信頼されたルートにたどり着けば、チェーンは有効です。
実際のチェーンを確認する
OpenSSLのs_clientを使うと、サーバーが提示するチェーンを確認できます。
openssl s_client -connect example.com:443 -showcertsIssuerとSubjectによるリンク
チェーンはフィールドを照合してつながります。つまり、ある証明書のIssuerは、その1つ上にある証明書のSubjectと一致します。
openssl x509 -in leaf.pem -noout -issuer -subject中間証明書がない問題
非常によくあるエラーは、サーバーがリーフ証明書だけを送信し、中間証明書を含め忘れることです。
この場合、一部のクライアントはルートまでのパスを構築できず、すべてが技術的には有効であっても、信頼されていない証明書と報告します。
フルチェーンの構築
サーバーは、リーフ証明書とすべての中間証明書を送信する必要があります(通常、クライアントがすでに持っているルート証明書は送信しません)。
この結合ファイルは、fullchain.pemと呼ばれることがよくあります。
cat leaf.pem intermediate.pem > fullchain.pemルートに対する検証
信頼するルートを指定すれば、チェーンをローカルで検証できます。
openssl verify -CAfile root.pem -untrusted intermediate.pem leaf.pemパス検証のルール
検証で確認するのは署名だけではありません。クライアントは次の項目も確認します。
- 各証明書が有効期間内であること。
- チェーンが失効していないこと。
- CA証明書の基本制約でCA flagが設定されていること。
- Key UsageとName Constraintsが遵守されていること。
クロス署名
新しいルートがまだどこでも信頼されているとは限りません。クロス署名を使うと、広く信頼されている古いルートでも新しい中間証明書に署名できます。
これにより複数の有効なパスが作られ、古いデバイスとの互換性が向上します。
チェーンが失敗する理由
チェーンでよくある失敗には、次のようなものがあります。
- 中間証明書がない
- パス内のどこかの証明書が期限切れになっている
- チェーンファイル内の順序が間違っている
- 信頼されていない、または信頼を取り消されたルート
確認問題
サーバーがリーフ証明書だけを提示し、一部のクライアントが信頼されていない証明書だと報告しています。最も可能性の高い原因は何でしょうか?
まとめ
証明書チェーンが中間証明書を介してリーフ証明書と信頼されたルート証明書をつなぐ仕組みを学びました。
- 検証ではチェーンをたどり、各署名、有効期間、失効状態を確認します。
- 中間証明書がないエラーを避けるため、サーバーはフルチェーンを送信する必要があります。
- クロス署名によって互換性が向上します。
次は、証明書を管理する運用上の作業について学びます。
よくある質問
「証明書チェーン」レッスンは無料ですか?
はい。「証明書チェーン」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、Cyber Security Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 Cyber Security Academyコースには全4レッスンが含まれています。
「証明書チェーン」で何を学びますか?
信頼パスを検証します ブラウザで直接実行するハンズオンコードでCyber Security Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。
Cyber Security Academyを始めるのに経験は必要ですか?
事前経験は必要ありません。CoddyKitのCyber Security Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン3/4です。
「証明書チェーン」レッスンにはどのくらい時間がかかりますか?
ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。
このCyber Security Academyレッスンでコードを書いて実行できますか?
はい。すべてのCyber Security Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。