証明書デコーダー
Certificate Decoder
PEMやDERの証明書・CSRを解いて、サブジェクト・SAN・有効期間・鍵用途とチェーンの手がかりを示します。
X.509の証明書——PEMのブロック、`.crt`や`.cer`のファイル、あるいはチェーン全体——を読み解き、サブジェクト、発行者、有効期間、鍵、フィンガープリント、そしてブラウザが受け入れるかどうかを実際に左右する拡張を表示します。
証明書は、このページ自身の ASN.1 リーダーがこのタブの中でデコードします。アップロードはありません。そこが要点です。CSR も、社内の CA も、うっかり貼り付けた鍵も、他人のサーバーに送って読ませてよいものではありません。
証明書・束・CSR・公開鍵を置いてください
PEM でも DER でも — .pem、.crt、.cer、.der、.csr、または authorized_keys の一行。下に貼り付けても構いません。
この道具がしないこと
- 署名を検証しません。上の「発行者」は名前の一致であって証明ではありません。自分で作った証明書には、どんな発行者名でも書けます。
- どの認証局を信頼しているかは知りません。それは OS とブラウザの中にあり、ウェブページからは読めません。
- 失効を確認しません。ご自分で確かめられるよう OCSP と CRL のアドレスは表示しますが、そこへ問い合わせるのは、この道具があえて行わないネットワーク通信です。
実際のサーバーが何を返しているか — チェーンの順序、プロトコルの版、期限 — を見るには、そのサーバーへの接続が要ります。SSL 点検ツールがその問いに答えます。
使い方
PEMを貼り付けるか、ファイルをドロップします
`-----BEGIN CERTIFICATE-----`のブロック1つでも、チェーンとして複数でも、DERのバイト列でも構いません。パースはこのタブの中で行われます。
日付と名前を確かめます
有効期間は手元の時計に対して判定します。効いてくる名前はSubject Alternative Nameの拡張にあるもので、Common Nameではありません。2017年以降、CNを見ているブラウザはありません。
フィンガープリントを見比べます
SHA-256のフィンガープリントは、ピン留めの設定や、電話口の同僚が読み上げてくる値です。証明書全体に対して計算されるので、どこが変わっても違う値になります。
よくある質問
その証明書が信頼されているかどうかも確かめてくれますか
確かめません。証明書が自分について何と言っているかを読むだけです。信頼とは、システムがすでに持っているルートへ鎖がつながること、加えて失効の確認、加えて接続した相手のホスト名との一致であり、そのどれもデコーダー単体ではできません。
ブラウザは名前が一致しないと言うのに、CNは正しく見えます
2017年のChrome 58以降、ホスト名の照合でCommon Nameは無視されているからです。ホスト名はSubject Alternative Nameの拡張に入っていなければなりません。CNしか持たない証明書は、現代的な環境ではどこでも失敗します。
証明書をここに貼り付けても大丈夫ですか
証明書は、設計として公開されるものです。接続してくるすべてのクライアントにサーバーが手渡すものだからです。秘密鍵はそうではありませんし、このページは秘密鍵を必要としません。PEMのブロックに`PRIVATE KEY`と書いてあるなら、それはそもそもウェブページに入れるものではありません。
ここから渡せます
JWKSによる署名検証
JWKS Verifier
JWKSのエンドポイントから鍵を取り、kidで選んで、トークンの署名と標準クレームを検証します。
鍵ペア生成
Key Pair Generator
RSA・ECDSA・Ed25519の鍵ペアを作り、PEM・JWK・OpenSSHで書き出します。
SSH鍵の生成
SSH Key Generator
コメントを付けたOpenSSHの鍵ペアを作り、フィンガープリントも表示します。秘密鍵はパスフレーズなしで出力されるので、必要ならssh-keygen -pで自分でかけてください。
SSL証明書チェック
SSL Certificate Checker
ホストに接続して配信されている証明書チェーン・有効期限・対応プロトコルと暗号を表示し、チェーンの欠けを指摘します。
次の一手
このツールが出したものをそのまま受け取れる道具です。
CSR生成
CSR Generator
サブジェクトの各項目とSANのエントリから、証明書署名要求とその秘密鍵を作ります。
鍵ペア生成
Key Pair Generator
RSA・ECDSA・Ed25519の鍵ペアを作り、PEM・JWK・OpenSSHで書き出します。
キーストア解析
Keystore Inspector
PKCS#12・JKS・PEMの束を開き、中に入っている証明書・チェーン・鍵のアルゴリズムを並べます。
SSL証明書チェック
SSL Certificate Checker
ホストに接続して配信されている証明書チェーン・有効期限・対応プロトコルと暗号を表示し、チェーンの欠けを指摘します。
JSON⇄CSV変換
JSON ⇄ CSV
入れ子のJSONをドット記法の列名で平らに開くか、表からオブジェクトを組み直します。
JSON差分比較
JSON Diff
キーの順序を無視して2つのJSONを構造で比べ、追加・削除・変更されたパスを挙げます。