証明書 & CSR デコーダー (X.509 / PKCS#10)
PEM形式のX.509証明書またはPKCS#10 CSRを貼り付けると、サブジェクト、発行者、有効期間、SAN、公開鍵、フィンガープリントまで、すべてのフィールドをオフラインでデコードし表示します。
🔒 ブラウザ内で完全に処理されます。ここに入力した内容はアップロードされません。
結果
証明書や証明書署名要求は、密度の高いバイナリエンコード文書です。うかつにオンラインデコーダーに貼り付けることは、あなたの内部ホスト名、組織の正式名称、あるいは認証局に提出しようとしている公開鍵といった情報を未知のサーバーに預けることになります。このツールはX.509証明書とPKCS#10 CSRを完全にブラウザのタブ内でデコードします。PEMテキストはローカルで生のDERバイトにBase64デコードされ、本物のASN.1 Tag-Length-Valueパーサーによってフィールドが一つひとつ読み取られます。データが外部に送信されることは一切ありません。
内部で動いているのは、正規表現によるごまかしでもテンプレートを使った簡易処理でもありません。RFC 5280(X.509)およびRFC 2986(PKCS#10)で定義されたDERエンコーディング規則を忠実に読み取る本格的なリーダーです。各Tagバイトを読み込み、Short FormとLong FormのLengthをデコードし、SEQUENCEやSETといった構造体に再帰的に入り込み、INTEGER、BIT STRING、OCTET STRING、OBJECT IDENTIFIERなどのプリミティブ型を解釈します。OBJECT IDENTIFIERは生バイトからドット区切り表記に変換され、既知の値と照合されるため、CN、O、Cといった名前フィールドのラベルや、RSA、ECといった公開鍵アルゴリズムが、数字の羅列ではなく可読性の高い形で表示されます。
証明書からは、バージョン、シリアル番号、発行者とサブジェクトの識別名、notBefore / notAfterの有効期限(「現在有効」「期限切れ」「有効期間前」という平易なステータス付き)、公開鍵アルゴリズムと鍵長(RSAのモジュラスビット長またはECの曲線名)、そして存在する場合には、その証明書がカバーするすべてのDNS名、IPアドレス、メールアドレス、URIを列挙したサブジェクト代替名拡張が抽出されます。CSRからは、サブジェクト、公開鍵、そしてPKCS#9 extensionRequest属性を通じて要求されたサブジェクト代替名が抽出されます。正確なSHA-256フィンガープリントは、ブラウザのネイティブWeb Crypto APIを用いて実際のDERバイトから計算され、多くのCAダッシュボードやopensslの出力と同じコロン区切り形式で表示されます。
このツールが意図的に行わないことが一つあります。それは、証明書チェーンの検証と失効ステータスの確認です。証明書が信頼できるルート認証局によって署名されているか、チェーン上で期限切れになっていないか、OCSPやCRLによって失効していないかを確認するには、ネットワーク経由で稼働中の認証局やOCSPレスポンダに問い合わせる必要があります。そのような外向きのリクエストは、オフラインかつプライバシーを最優先するデコーダーにはそぐいません。このツールは、貼り付けられた証明書またはCSRの中に「何が書かれているか」を正確に伝えます。それを信頼すべきか否かについては、一切の主張をしません。