セキュリティ

証明書デコーダー

PEM 証明書、証明書チェーン、CSR を貼り付けると、わかりやすいフィールドとして読めます。サブジェクトと発行者、残り日数付きの有効期間、サブジェクト代替名(SAN)、鍵アルゴリズムとサイズ、鍵用途と拡張鍵用途、基本制約、鍵識別子、そして SHA-1 と SHA-256 のフィンガープリント。X.509 証明書(PEM、Base64、DER)、PKCS#10 証明書署名要求、各証明書を切り替えて見られる完全なチェーンに対応します。解析はすべてブラウザの Web Crypto API でローカルに行われ、証明書、CSR、鍵がアップロード・中継・サーバー記録されることはありません。これは確認のためのデコーダーであり信頼検証ではありません。チェーン、失効状態、ある証明書が実際のクライアントに今信頼されているかは検証しません。

  • X.509 証明書と PKCS#10 CSR を PEM・Base64・DER から、複数証明書のチェーンも含めてデコード
  • サブジェクトと発行者、残り日数付きの有効期間、明確な有効 / 期限切れ / 未開始ステータスを表示
  • サブジェクト代替名、鍵用途、拡張鍵用途、基本制約、鍵識別子を一覧表示
  • 鍵アルゴリズムとサイズ(RSA ビット数、EC 曲線)に加え、コピー可能な SHA-1 と SHA-256 のフィンガープリント
  • 完全ローカル:解析は Web Crypto でブラウザ内で行われ、アップロードせず、信頼や失効の検証もしません
tools/証明書デコーダー
0 文字
入力待ち
証明書または CSR を貼り付けると、デコードされたフィールドが表示されます。
操作

概要

X.509 証明書と CSR に特化したリーダーです。PEM の背後にある密な ASN.1 構造をラベル付きフィールドに変え、openssl のフラグをつなぎ合わせなくても証明書が実際に何を含むか確認できます。解析はブラウザの Web Crypto API を通じて行われます。

  1. 01

    証明書・チェーン・CSR

    単一の X.509 証明書、複数の PEM ブロックとして貼り付けた完全なチェーン、PKCS#10 証明書署名要求をデコードできます。チェーンを検出すると各証明書を切り替えて、リーフ・中間・ルートを別々に読めます。

  2. 02

    サブジェクト・発行者・有効期間

    サブジェクトと発行者は識別名の各部品(CN、O、OU、C など)に分解されます。有効期間は開始・終了日時を示し、有効・期限切れ・未開始の明確なバッジと残り日数が付きます。

  3. 03

    サブジェクト代替名

    各 SAN エントリは種類(DNS、IP、メール、URI)とともに一覧表示されます。証明書がホスト名をカバーしているか確認するとき、実際に気になるのはたいていこのフィールドです。

  4. 04

    鍵と署名の詳細

    公開鍵のアルゴリズムとサイズ(RSA モジュラスのビット数または EC 曲線)、署名アルゴリズム、シリアル番号、そしてピン留めや比較のためにワンクリックでコピーできる SHA-1・SHA-256 フィンガープリントを確認できます。

  5. 05

    用途と制約

    鍵用途、拡張鍵用途、基本制約(CA フラグとパス長)、サブジェクトと認証局の鍵識別子が読みやすい名前にデコードされ、さらに各拡張の OID とクリティカルフラグ付きの一覧も表示されます。

  6. 06

    ローカル、PEM・Base64・DER 対応

    入力は PEM、生の Base64、DER のいずれでも可能です。解析とフィンガープリント計算はすべてブラウザのタブ内で Web Crypto を通じて行われ、証明書、CSR、含まれ得る鍵が端末から出ることはありません。

使い方

流れは短いです。証明書を貼り付け、フィールドを読み、チェーンのメンバーを切り替え、必要なものをコピーします。

  1. 01

    証明書、チェーン、CSR を入力パネルに貼り付けます。-----BEGIN CERTIFICATE----- から生の Base64 まで受け付け、解析はすぐに行われます。

  2. 02

    まず概要を読みます。種類、コモンネーム、署名アルゴリズム、サブジェクトが発行者と等しいか。ステータスバッジが有効・期限切れ・未開始を一目で示します。

  3. 03

    サブジェクト代替名で期待するホスト名や IP をカバーしているか確認し、有効期間で正確な失効日と残り日数を確認します。

  4. 04

    チェーンを貼り付けた場合は、セレクターでリーフ・中間・ルートを切り替え、それぞれを個別に確認します。

  5. 05

    コピーボタンでフィンガープリント、シリアル番号、鍵識別子をコピーするか、ツールバーから選択中の証明書の正規化された PEM をコピーします。

詳細

ふだんコマンドラインに向かわせる証明書確認の作業を、サーバーを介さずそのまま画面に出します。

  • X.509 証明書と PKCS#10 CSR を PEM・Base64・DER 入力から読み取ります。
  • 貼り付けたチェーンを個々の証明書に分割し、リーフ・中間・ルートのセレクターを用意します。
  • サブジェクトと発行者を 1 本の不透明な文字列ではなく識別名の部品に分解します。
  • 残り日数付きの有効期間と、有効 / 期限切れ / 未開始のステータスを表示します。
  • サブジェクト代替名を種類付きで一覧し、ホスト名のカバー範囲を明確にします。
  • RSA 鍵のビット数と EC 曲線名、署名アルゴリズムを示します。
  • Web Crypto API で SHA-1・SHA-256 フィンガープリントを計算し、ワンクリックでコピーできます。
  • 鍵用途、拡張鍵用途、基本制約、鍵識別子を読みやすい名前にデコードします。
  • すべてブラウザ内で動作し、アップロードもテレメトリもなく、信頼や失効の検証も行いません。

活用シーン

PEM ブロックが関わるときはいつでも、これらの日常的な確認が openssl コマンドの羅列ではなく貼り付けで済みます。

  1. 証明書の失効時期を確認

    本番証明書を貼り付けて正確な終了日と残り日数を読み、アラートが鳴ってからではなく障害の前に更新を計画します。

  2. ホスト名のカバー範囲を確認

    サービスが提供するすべてのドメインとワイルドカードがサブジェクト代替名に含まれるか確認し、ブラウザ警告になる前に欠けた SAN を見つけます。

  3. 提出前に CSR をレビュー

    証明書署名要求をデコードし、認証局へ送る前にサブジェクト、鍵サイズ、要求された SAN が正しいか確認します。

  4. 証明書チェーンを確認

    リーフ・中間・ルートをまとめて貼り付け、発行者と認証局鍵識別子で各証明書がどうつながるかを見て、チェーン不完全エラーを切り分けます。

  5. ピン留めのためにフィンガープリントを比較

    SHA-256 フィンガープリントをコピーして証明書をピン留めしたり、デプロイ時にサーバーが提示する証明書を既知の正しい値と比較したりします。

  6. 鍵強度とアルゴリズムを監査

    セキュリティレビューや移行の際に、証明書が十分な RSA サイズや現代的な EC 曲線、許容可能な署名アルゴリズムを使っているか確認します。

  7. mTLS とクライアント証明書のデバッグ

    クライアント証明書を読み、拡張鍵用途にクライアント認証が含まれ、サブジェクトがサービスの想定と一致するか確認します。

  8. 証明書の中身を学ぶ

    内蔵サンプルを生成して各フィールドを探索し、サブジェクト、拡張、鍵用途が実際の X.509 構造にどう対応するか理解します。

関連情報

証明書を読むのではなく、その背後の鍵素材を作りたいときは、RSA 鍵生成 で RSA または EC の鍵ペアを生成できます。デバッグ対象が証明書ではなく署名付きトークンなら、JWT インスペクター でデコードと検証ができ、ヘッダーとペイロードを読み署名を確認します。証明書のフィンガープリントや任意のファイルを既知の値と比較したいときは、ハッシュ生成ツール を使ってブラウザ内でローカルに SHA-256 などのダイジェストを計算できます。

使い方のヒント

デコーダーは証明書が何を述べているかを示します。次の習慣はその読み取りを誠実に保ち、周辺の取り扱いを安全にします。

  • 確認専用と捉えてください。署名検証もチェーン構築も失効確認も行わないため、デコードできた証明書は信頼された証明書と同じではありません。
  • ピン留めや比較には SHA-1 ではなく SHA-256 を使ってください。SHA-1 は旧システムとの照合のためだけに表示しています。
  • ホスト名のカバーはコモンネームではなくサブジェクト代替名で確認してください。現代のクライアントはホスト名照合で CN を無視します。
  • CSR をレビューするときは、署名前に鍵サイズとサブジェクトを確認してください。証明書が発行されるとこれらの値は固定されます。
  • 残り日数に注意し、失効に十分先んじて更新してください。手動確認に頼らず、失効日を監視に組み込みます。
  • 秘密鍵は貼り付けないでください。本ツールは証明書と CSR を扱い、秘密鍵は不要であり、どんな Web ツールにも入れるべきではありません。
  • 実際の信頼判断は、フィールドリーダーではなく、プラットフォームのツールや実際のクライアントでチェーンと失効を検証して行ってください。

制限事項

デコーダーが何をしないかを知っておくと、バリデーターや完全な PKI ツールキットと取り違えずに済みます。

  • 信頼を検証しません。署名検証もチェーン構築もなく、実際のクライアントが証明書を受け入れるかの判断も行いません。
  • CRL や OCSP で失効を確認せず、認証局やネットワークエンドポイントに接続することもありません。
  • 自己署名はヒューリスティック(サブジェクトが発行者と等しいか)として報告され、検証された暗号学的性質ではありません。
  • 証明書と CSR のみを読み取ります。CRL、PKCS#7 / PKCS#12 バンドル、秘密鍵は範囲外です。
  • ごく一部のまれな拡張は値を完全にデコードせず OID とクリティカルフラグで表示します。一般的な拡張は展開されます。
  • 処理はローカルで完結しますが、ローカルの安全性は端末、ブラウザ拡張、画面共有、出力の貼り付け先に依存します。

よくある質問

よくある質問は信頼、対応入力、フィンガープリント、CSR、アップロードの有無を扱います。

これは証明書が有効か信頼できるかを検証しますか?

いいえ。フィールドをデコードして表示しますが、署名検証、チェーンの構築や検証、失効確認は行いません。証明書は完全にデコードできても、信頼されていない・期限切れ・失効していることがあります。実際の信頼判断は OS、ブラウザ、サーバーのツールで行ってください。

対応する入力形式は何ですか?

PEM が一般的です。-----BEGIN CERTIFICATE----- から -----END CERTIFICATE----- まで貼り付けてください。生の Base64 と DER も受け付け、複数の PEM ブロックを一度に貼り付けて完全なチェーンをデコードし、各証明書を切り替えられます。

CSR をデコードできますか?

できます。PKCS#10 証明書署名要求(-----BEGIN CERTIFICATE REQUEST-----)を貼り付けると、サブジェクト、公開鍵のアルゴリズムとサイズ、署名アルゴリズム、要求された拡張(サブジェクト代替名など)を読めます。CSR には発行者や有効期間がないため、それらの欄は省略されます。

どのフィンガープリントを使うべきですか?

ピン留めと比較には SHA-256 を推奨します。SHA-1 は一部の古いシステムがまだ表示するため含めていますが、セキュリティ目的で頼るべきではありません。どちらも証明書 DER に対して Web Crypto API でローカル計算され、ワンクリックでコピーできます。

CA 発行の証明書がなぜ自己署名と出るのですか?

自己署名フラグはサブジェクトが発行者と等しいかだけを調べるヒューリスティックです。署名を検証しないため、証拠ではなくヒントと捉えてください。サブジェクトと発行者が異なる証明書は自己署名でないと表示されます。

証明書や鍵はどこかにアップロードされますか?

いいえ。解析、フィンガープリント計算、内蔵サンプルはすべてブラウザのタブ内で Web Crypto API を通じて行われます。サーバー、CDN、分析基盤に何も送られないため、社内や本番の証明書でも安全です。

秘密鍵を貼り付けてもよいですか?

必要ありませんし、貼り付けるべきではありません。デコーダーは設計上公開されている証明書と CSR を扱います。秘密鍵はどの Web ツールにも入れないでください。本ページは秘密鍵ブロックを処理せず無視します。

なぜ一部の拡張は OID だけで表示されるのですか?

一般的な拡張(サブジェクト代替名、鍵用途、拡張鍵用途、基本制約、鍵識別子)は完全にデコードされます。まれな拡張やベンダー固有の拡張は OID とクリティカルフラグで一覧表示され、わかりやすい名前がなくても存在は確認できます。

関連ツール

セキュリティツールを続けて使えます。鍵ペアを生成し、トークンを検査し、値をハッシュ化する。下のツールは典型的な証明書とアイデンティティのワークフローにつながります。