機能の説明
Certificate Decoder は、PEM エンコードされた X.509 証明書 - TLS/HTTPS、S/MIME、コード署名に使われる形式 - をパースし、人間が読めるレポートに変換します。すべてがブラウザー内で完結します。
Base64Base64An encoding representing binary data as 64 safe ASCII characters, so it survives transport through text-only channels. It encodes — it does not encrypt.
の DER バイトをスクラッチから書かれたASNASNA number identifying one routing domain on the internet (one AS = one network under a single policy), used by BGP to exchange routes.Learn more
.1 パーサーでデコードし、サブジェクト、発行者、有効期間、鍵情報、拡張(Subject Alternative Names、Basic Constraints、Key Usage、Extended Key Usage)、SHA-256 フィンガープリントを抽出します。チェーン全体(リーフ → 中間 → ルート)を貼り付けると、各証明書が順番に、チェーン内の位置ラベル付きで個別にデコードされます。ページは分割ワークスペースです:左に PEM 入力、右にスクロールについてくるスティッキーパネルにデコード済みレポートがあります。小さい画面では 2 つが縦に積まれ、入力が先です。デコードはライブです - テキストエリアにパース可能な PEM ブロックが入った瞬間にレポートが埋まり、押すべき Decode ボタンは存在しません。
使い方
- 左のテキストエリアに PEM 証明書を貼り付けます。入力は
-----BEGIN CERTIFICATE-----で始まり-----END CERTIFICATE-----で終わる必要があります。Sample で内蔵のテスト証明書をロードし、Clear でリセットします。 - レポートは右に即座に現れ、セクションに分かれて整理されます:Identity、Issuer、Validity、Subject Alternative Names、Key Info、Extensions、Fingerprint (SHA-256)。
- Validity セクションは色分けされたステータスバッジを示します:現在日時が
notAfterを過ぎると赤の Expired、残り 30 日以内なら黄、それ以上なら緑。両方のカウントダウンバッジが正確な日数を示します。 - SHA-256 フィンガープリントをワンクリックで Copy するか、レポートヘッダーから
cert-summary.txtを Download します - デコード済みレポートをプレーンテキストで、1 行に 1 つのkey: valueとして出力します(サブジェクト、発行者、有効期限とステータス、SAN、シリアル)。 - 証明書チェーンをデコードするには、すべての PEM ブロックを一度に貼り付けます(例:
fullchain.pem全体)。各証明書はチェーン位置ラベル付きの独自のカードを得て、ヘッダーには “Chain: N certificates” バッジが表示されます。
例
ウェブサーバー証明書をデコードする
cat fullchain.pem の出力(または CA の発行メール)の PEM を貼り付けます。レポートには、サーバーの Common Name(例:www.example.com)、発行した CA、SAN エントリ(DNS 名、IP、メール)、RSA または ECDSA の鍵長、証明書が CA かどうかが表示されます。
内蔵サンプルを試す
Sample をクリックします。ロードされる証明書は test.cosmolabs.org 用の自己署名 v3 テスト CA です(O = CosmoLabs Test):RSA 2048 ビット鍵、有効期間 2026-08-16 23:15:46 UTC → 2036-08-13 23:15:46 UTC、SAN は cosmolabs.org と www.cosmolabs.org、IP 127.0.0.1、メール admin@cosmolabs.org。期限まで数年あるため、ステータスバッジは緑です。シリアルは openssl 形式のコロン区切り hex で、26:55:56:7E:… に始まります。
証明書の期限切れを確認する
Validity セクションは、正確な notBefore/notAfter の日付とバッジを示します:期限を過ぎると赤の “Expired”、残り 30 日以内は黄の警告、それ以外は緑の日数バッジです。
サマリーをエクスポートする
デコード後、レポートヘッダーの Download をクリックして cert-summary.txt を保存します。サンプルの場合、内容はちょうど次の通りです:
Subject: C=US, ST=California, L=San Francisco, O=CosmoLabs Test, OU=Engineering, CN=test.cosmolabs.org
Issuer: C=US, ST=California, L=San Francisco, O=CosmoLabs Test, OU=Engineering, CN=test.cosmolabs.org
Not Before: 2026-08-16 23:15:46 UTC
Not After: 2036-08-13 23:15:46 UTC
Status: 3641 days remaining
DNS SANs: cosmolabs.org, www.cosmolabs.org
SAN IPs: 127.0.0.1
Email SANs: admin@cosmolabs.org
Serial: 26:55:56:7E:A1:B2:9D:1E:68:B2:A3:8C:5B:65:41:D3:74:86:77:73
Status: の日数は毎日減っていきます。チェーンの場合、各証明書は Certificate N of M ヘッダー行の下に同じファイルへ書き込まれます。
証明書チェーンを検証する
チェーン全体(リーフ + 中間 + ルート)を貼り付けます。各証明書は “Certificate #2 in chain”、“Certificate #3 in chain” と、それぞれ独自のカードに個別デコードされ、レポートヘッダーは “Chain: 3 certificates” バッジを表示します。
補足事項
- プライベート: すべてのパースは 100% ブラウザー内で行われます - 何もアップロードされず、証明書データによるネットワークリクエストも発生しません。
- 外部
ASNASNA number identifying one routing domain on the internet (one AS = one network under a single policy), used by BGP to exchange routes.Learn more
.1 ライブラリなし - DER パーサーはスクラッチから実装されており、SEQUENCE、SET、INTEGER、BIT STRING、OCTET STRING、OID、UTF8String、PrintableString、IA5String、UTCTime、GeneralizedTime、コンテキストタグ付き要素を処理します。 - SHA-256 フィンガープリントは、生の DER バイトに対して Web Crypto API で計算されます -
openssl x509 -fingerprint -sha256の出力と一致します。 - 対応する拡張: Subject Alternative Name(DNS、IP、メール)、Basic Constraints、Key Usage、Extended Key Usage。その他の拡張は証明書内に存在しますが表示されません。
- Download ボタンはデコード成功後にのみ現れ、常に現在のレポートを反映します - 別の証明書を貼り直せば、次のダウンロードにはその証明書が含まれます。
- 関連ツール:
ChecksumChecksumA short digest computed from a block of data, compared after transfer or storage to detect corruption. Changing one bit changes the checksum.
Verifier、HashHashA one-way function that maps data of any size to a fixed-length digest. Same input, same digest; any change, different digest; not reversible.
Type Identifier。