ByteScope

Certificate Decoder

証明書を貼り付けて、その中身をすべて読み取る — そしてチェーンが壊れている理由を突き止める。

ファイルはブラウザから送信されません — 処理はすべてローカルで行われます。

Drop .pem / .crt / .cer / .der / .csr files

parsed locally — nothing is uploaded

このツールについて

PEM・DER・CRT・CERの素材 — 単一の証明書、チェーン全体、またはCSR — を貼り付けるかドロップすると、すべてのフィールドが即座にデコードされます:サブジェクトと発行者のDNをコンポーネントごとに、残り日数カウントダウン付きの有効期間(期限切れはマゼンタ、残り30日未満はオレンジ。ここに来る主な目的が有効期限の確認だからです)、完全なSANリスト、鍵用途と拡張鍵用途、公開鍵の種類とサイズ、署名アルゴリズム、シリアル番号、そしてSHA-1 / SHA-256フィンガープリント。

複数の証明書をまとめて貼り付けると、ツールはそれらをチェーンに並べ替え、各リンクを検証し、典型的なサーバー設定ミスを1行で診断します:「中間証明書がありません」。証明書・鍵マッチャーは証明書と秘密鍵を受け取り、両者が対になっているかを教えてくれます — 障害対応の最中に湧く「そもそもこれは正しい鍵なのか?」という疑問への5秒での答えです。ホスト名チェックは入力したドメインをSANリストと照合し、弱い署名(SHA-1)や自己署名証明書には注意を促します。

すべての解析はWebCryptoを使ってブラウザ内で行われます — 証明書、CSR、そして何より秘密鍵がどこかへ送信されることは決してありません。適当なウェブサイトに秘密鍵を貼り付けるのは通常はセキュリティ上の間違いですが、ここではアーキテクチャがそれを安全にしており、ネットワークケーブルを抜いてそれを証明することもできます。

よくある質問

ここに秘密鍵を貼り付けても安全ですか?
はい — すべてはページに同梱されたWebCrypto / ASN.1ライブラリを使ってブラウザ内でローカルに解析されます。サーバー呼び出しは一切なく、それはDevToolsのNetworkタブで(または貼り付け前にオフラインにして)確認できます。とはいえ、貼り付けた秘密鍵は機密情報として扱ってください:作業が終わったらタブを閉じましょう。
「中間証明書がありません」とはどういう意味ですか?
ブラウザはルートCAを信頼しますが、サーバー証明書は通常、中間CAによって署名されています。サーバーは自身の証明書とともにその中間証明書を送信しなければなりません。送信しないと、一部のクライアントは信頼エラーで失敗し、他のクライアントは(中間証明書をキャッシュしているため)動作します — 「Chromeでは動くのにcurlでは失敗する」という典型的な症状です。チェーンをここに貼り付ければ、どのリンクが欠けているかを正確に示します。
証明書が秘密鍵と一致するかどうやって確認しますか?
両方をマッチャーに貼り付けてください。証明書には公開鍵が含まれています。ツールは秘密鍵から公開鍵を導出し、両者を比較します。不一致は、この鍵がこの証明書では動作しないことを意味します — nginxの「key values mismatch」エラーの最速の診断です。
CAに提出する前にCSRをデコードできますか?
はい — CSRを貼り付ければ、送信前にサブジェクト、要求されたSAN、鍵の詳細を確認できます。CSR内のドメインのタイプミスを見つける方が、証明書を再発行するよりずっと安上がりです。
どの形式に対応していますか?
PEM(BEGIN CERTIFICATE / CERTIFICATE REQUEST / PRIVATE KEY ブロック、貼り付けまたはドロップ)、DERバイナリファイル(.crt/.cer/.der)、そして複数証明書のPEMバンドルです。PKCS#12(.pfx/.p12)コンテナにはまだ対応していません。