証明書デコーダー
X.509証明書、またはPEMもしくはbase64 DER形式の証明書チェーン(最大10件)を読み取ります。各証明書について、サブジェクト、発行者、シリアル番号、有効期間と残り日数、公開鍵、署名アルゴリズム、サブジェクト代替名、鍵の用途、制約、CRLとOCSPの場所、SHA-256とSHA-1のフィンガープリント、SPKIピンを表示し、自己署名か次の証明書による署名かを確認します。
よくある質問
デコーダーはどの入力形式に対応していますか?
-----BEGIN CERTIFICATE-----で始まるPEMブロックを1つ以上貼り付けてください。.pem、.crt、fullchainファイルに含まれる形式です。または、ヘッダーのないbase64 DER形式の証明書を1件貼り付けてください。最大10件の証明書を、貼り付けた順にデコードします。
ステータスはどのように判定されますか?
デコーダーは現在時刻をnotBeforeとnotAfterの日付と比較し、証明書が有効か、期限切れか、まだ有効でないかを、残りまたは経過した日数(整数)とともに報告します。日付はUTCのISO 8601形式で表示されます。
「次の証明書による署名」とはどういう意味ですか?
チェーンでは、各証明書の署名を、その次に続く証明書の公開鍵で検証します。これによって、リーフ、中間、ルートの順序を判定します。「いいえ」と表示された場合、順序が誤っているか、チェーンが不完全です。これは署名の確認のみであり、トラストストア、失効情報、名前制約に対する完全なパス検証ではありません。
自己署名証明書はどのように検出されますか?
発行者がサブジェクトと一致し、自身の公開鍵で署名を検証できる証明書は、自己署名と判定されます。ルート証明書は自己署名であり、テスト用や内部用の証明書にも自己署名のものが多くあります。
どのフィンガープリントが表示されますか?
SHA-256とSHA-1のフィンガープリントは、DERエンコードされた証明書全体のハッシュです。ブラウザーやopenssl x509 -fingerprintが表示する値と同じく、大文字の16進数をコロンで区切って表示します。比較にはSHA-256を使ってください。SHA-1はもはや衝突耐性がないためです。
SPKIピンは何に使われますか?
証明書のSubjectPublicKeyInfoのSHA-256ハッシュをbase64で表したものです。HTTP公開鍵ピンニング、Androidのネットワークセキュリティ設定、多くのモバイル向けピンニングライブラリで使われます。同じ鍵を使って証明書を更新しても値は変わりません。
どの拡張が説明されますか?
サブジェクトと発行者の代替名、鍵の用途、拡張鍵用途、パス長を含む基本制約、サブジェクトと認証局の鍵識別子、CRL配布ポイント、OCSPと認証局の発行者URLを含む認証局情報アクセス、CA/Browser ForumのDV、OV、IV、EVマーカーを含む証明書ポリシーが説明されます。その他の拡張は名前またはオブジェクト識別子で表示されます。
ウェブサイトの証明書を取得するにはどうすればよいですか?
openssl s_client -connect example.com:443 -showcertsを実行し、出力からPEMブロックをコピーするか、ブラウザーの証明書ビューアーから証明書を書き出してください。SSLCertificate Checkerでサイトの証明書を検索することもできます。
証明書は保存されますか?
いいえ。証明書はリクエストごとにメモリ上でデコードされ、ログに記録されたり保存されたりすることはありません。証明書に含まれるのは公開データのみですが、対応する秘密鍵はここに貼り付けないでください。
利用上限はありますか?
入力は131,072文字までで、証明書は最大10件まで読み込めます。OpenSSLのTRUSTED CERTIFICATEブロックは読み取れないため、先にopenssl x509 -in cert.pem -out plain.pemで変換してください。