Cryptology Academy · レッスン

証明書とは:X.509の構造

SSL/TLS証明書に含まれる各フィールドを読み解きます。

レッスン 1/413 ステップ

「証明書とは:X.509の構造」はCoddyKit上の無料Cryptology Academyレッスンです。 これはレッスン1/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはCryptology Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 Cryptology Academyコースには全4レッスンが含まれています。

ようこそ

X.509証明書は、公開鍵と身元を結び付けます。これはHTTPS、メール暗号化、コード署名の基盤です。ここではすべてのフィールドを読み解きます。

証明書はどのような問題を解決するのか

誰でもRSA鍵ペアを生成できます。証明書がなければ、攻撃者はGoogleの公開鍵を自分の公開鍵に置き換えられます。証明書は、ある公開鍵が特定のエンティティに属することをCAが署名して証明するものです。

X.509証明書のフィールド

Version(v3)、Serial Number(CAごとに一意)、Issuer(CAの身元)、Validity period(Not Before/Not After)、Subject(所有者の身元)、Subject Public Key Info、Extensions、Signature Algorithm、Signature。

Subject Name(DN)

Distinguished Nameでは、LDAP形式の属性を使用します。 CN=example.com (Common Name) O=Example Corp (Organization) C=US (Country) 現代のTLSでは、Subject Alternative Name(SAN)拡張に実際のホスト名が記載されます。

Subject Alternative Names(SAN)

SANには、証明書の対象となるすべてのホスト名/IPアドレスが列挙されます。 DNS:example.com DNS:www.example.com DNS:*.api.example.com ブラウザーは2017年以降、SANを必須としています。ホスト名の検証ではCNフィールドは無視されます。

有効期間

Not Before:有効となる最も早い日時。Not After:有効期限。Let's Encryptは定期的な更新を促すため、90日間有効な証明書を発行します(漏えい時の被害を抑えるためです)。多くの商用CAは1~2年間有効な証明書を提供しています。

証明書内の公開鍵

証明書には、SubjectPublicKeyInfoとしてサブジェクトの公開鍵が含まれています。 - Algorithm: rsaEncryption or id-ecPublicKey - Key: DER-encoded public key bytes この鍵は、TLS鍵交換または署名の検証に使用されます。

OpenSSLで証明書を読み取る

# Inspect certificate from HTTPS site: openssl s_client -connect google.com:443 < /dev/null 2>/dev/null | openssl x509 -text -noout # Or from file: openssl x509 -in cert.pem -text -noout

DERとPEMのエンコーディング

DER:証明書の構造をバイナリ形式で表すASN.1エンコーディングです。 PEM:DERをBase64エンコードし、-----BEGIN CERTIFICATE-----ヘッダーで囲んだ形式です。 PEMは人間が読みやすく、Webサーバーで使用されます。DERはコンパクトなため、デバイスに適しています。

証明書拡張 v3

主な拡張: - Basic Constraints:isCA(true/false)とpathLen - Key Usage:digitalSignature、keyEnciphermentなど - Extended Key Usage:serverAuth、clientAuth、codeSigning - Subject Key Identifier(SKI)とAuthority Key Identifier(AKI)

ワイルドカード証明書

ワイルドカード証明書(*.example.com)は、api.example.com、www.example.comなど、すべての第1レベルサブドメインを対象にします。ただし、サブサブドメイン(deep.api.example.com)は対象になりません。

クイックチェック

TLSで有効なホスト名の一覧を含むフィールドは、X.509 v3証明書のどれですか?

まとめ

X.509証明書を読み取り、その内容を理解できるようになりました。次は、認証局と信頼チェーンがどのように証明書を検証するかを学びます。
無料で開始

AI チューターと学ぶ Cryptology Academy — 無料

ブラウザでリアルコードを書いて実行し、24/7 の AI チューターから瞬時にサポートを受け、ウェブまたはアプリで続きから学習できます。

コース
67
レッスン
261

よくある質問

「証明書とは:X.509の構造」レッスンは無料ですか?

はい。「証明書とは:X.509の構造」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、Cryptology Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 Cryptology Academyコースには全4レッスンが含まれています。

「証明書とは:X.509の構造」で何を学びますか?

SSL/TLS証明書に含まれる各フィールドを読み解きます。 ブラウザで直接実行するハンズオンコードでCryptology Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。

Cryptology Academyを始めるのに経験は必要ですか?

事前経験は必要ありません。CoddyKitのCryptology Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン1/4です。

「証明書とは:X.509の構造」レッスンにはどのくらい時間がかかりますか?

ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。

このCryptology Academyレッスンでコードを書いて実行できますか?

はい。すべてのCryptology Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。

このコースのすべてのレッスン

  1. 証明書とは:X.509の構造
  2. 認証局と信頼チェーン
  3. 証明書の失効:CRLとOCSP
  4. OpenSSLで自己署名証明書を作成する
← Cryptology Academyに戻る