SSL証明書 内容確認ツール
PEM・Base64 を貼り付けるか、DER・PKCS #7 ファイルを開くだけで SSL 証明書の中身を確認。SAN・有効期間・公開鍵・拡張・SCT を表示し、中間証明書の順序と署名もチェックします。
- ブラウザ内で処理
- データはブラウザ外に出ません
- 無料 · 登録不要
WeChat でスキャンしてシェア
例・詳しい説明・よくある質問 実際の出力つきの例、ほかのツールとの違い、よくある質問。
実例:www.digital.go.jp の証明書チェーン
サンプルを押すと、2026-10-01 に openssl s_client -showcerts で www.digital.go.jp(デジタル庁)から受け取った 2 枚の証明書を読み込みます。
| # | サブジェクト CN | 役割 | 次の証明書による署名 |
|---|---|---|---|
| 1 | www.digital.go.jp | サーバー証明書 | 署名を検証済み |
| 2 | SECOM Passport for Web SR 3.0 CA | 中間 CA | 発行元は入力にない |
2 枚目の発行者は OU=Security Communication RootCA2,O=SECOM Trust Systems CO.\,LTD.,C=JP です。サーバーはこのルート証明書を送っていませんが、クライアントのトラストストアに入っているルートなので問題ありません(RFC 8446 §4.4.2 はルートの省略を認めています)。
サーバー証明書で見ておきたい項目:
- 終了日時は
2027-02-25 14:59:59 UTC、日本時間では 2027 年 2 月 25 日 23:59:59 です。 - 有効期間は 394 日。開始日時
2026-01-28 09:06:10 UTCは 2026 年 3 月 15 日より前なので、上限は 398 日です。CA/B フォーラム BR §6.3.2(SC-081)により、2026 年 3 月 15 日以降に発行される公的な TLS 証明書は最長 200 日、2027 年 3 月 15 日からは 100 日、2029 年 3 月 15 日からは 47 日になります。このツールはサーバー証明書の開始日時から上限を判定し、超えていればチェック結果に出します。 - SAN は
www.digital.go.jpの 1 件。digital.go.jpを入力すると一致しないと表示されます。 - Certificate Transparency の SCT が 5 件あり、ログ ID とタイムスタンプを一覧にします。
よくある失敗:中間証明書の並び順
TLS ではサーバー証明書を先頭に、続けて各証明書の発行元を並べます(RFC 8446 §4.4.2)。nginx のドキュメントも、連結ファイルでは「サーバー証明書をチェーンの証明書より前に置く」よう求めています(Configuring HTTPS servers)。
上の 2 枚を逆の順に貼ると、順序が違うか、別のチェーンが混ざっています。サーバー証明書からの経路:#2 → #1。 と表示されます。署名は検証済みのままなので、組み合わせは正しく順序だけが逆だと分かります。正しい順序でコピーで並べ直したファイルが手に入ります。
サーバー証明書だけを貼ると、発行元がないことと、AIA に書かれた中間証明書の URL を示します。ブラウザーは AIA から補うことがありますが、Java は既定で無効、Go の TLS も取りに行きません(golang/go#31773)。サーバー側で中間証明書を設定してください。
拡張子と形式
Windows でエクスポートした .cer は、バイナリの DER のことも Base64(PEM)のこともあり、拡張子では見分けられません。このツールはファイルの先頭バイトで判定し、DER や PKCS #7(.p7b)は PEM に変換して入力欄に表示します。読める形式:
- PEM の
CERTIFICATE、古い表記X509 CERTIFICATE、OpenSSL のTRUSTED CERTIFICATE(RFC 7468)。前後の文字、CRLF、余分な空白は無視します。 - BEGIN / END 行のない Base64 だけのテキスト。
- CSR・公開鍵・CRL は種類を表示して解析しません。CSR は CSR デコーダーで確認できます。
エラーは場所を示します。たとえば上のサーバー証明書をコピーするときに Base64 が 1 行抜けると、「0 バイト目の Certificate は 1931 バイト必要ですが、残りは 1883 バイトです」と表示されます。
チェック項目
- 外側と tbsCertificate 内の署名アルゴリズムの一致(RFC 5280 §4.1.1.2)、シリアル番号が正で 20 オクテット以内か(§4.1.2.2)、時刻に秒と
Zがあるか(§4.1.2.5)。 - 認識できないクリティカル拡張、重複した拡張(§4.2)。
- SAN がない証明書:Chrome は バージョン 58 で CN による照合をやめています。
- SHA-1・MD5 署名、2048 ビット未満の RSA 鍵、発行元が CA でない・keyCertSign がない・パス長を超えている場合。
公開鍵の長さは鍵そのものから求めます(P-521 は 521 ビット)。フィンガープリントは DER の SHA-256・SHA-1・MD5 に加え、公開鍵(SPKI)の SHA-256 を Base64 で出します。RFC 7469 の pin-sha256 形式で、Android のネットワーク セキュリティ構成や OkHttp の証明書ピンニングにそのまま使えます。
他のツールとの違い
2026-10-01 に同じ証明書で確認した結果:
| ツール | 解析する場所 | チェーン(4 枚) | 気づいた点 |
|---|---|---|---|
| ラッコツールズ SSL証明書内容確認 | ブラウザー内 | 1 枚目だけ表示 | SAN の IP アドレスが表示されない。署名アルゴリズムは「ECDSA」とだけ表示 |
| CertLogik | フォームを自社サーバーに送信 | 1 枚目だけ表示 | P-521 の鍵長は正しく 521 ビット |
| このツール | ページ内 | 4 枚すべて、順序と署名を確認 | — |
制限
- トラストストアはなく、OCSP / CRL の失効確認やサーバーへの接続もしません。チェーンの取得には
openssl s_client -connect ホスト名:443 -showcertsを使い、DNS は DNS 確認ツール、レスポンスヘッダーは HTTP Header アナライザーで確認できます。 - 署名検証は Web Crypto で行います。対応は RSA(PKCS #1 v1.5・PSS)、P-256 / P-384 / P-521 の ECDSA、ブラウザーが対応していれば Ed25519。ML-DSA・Ed448・DSA・SM2 は解析しますが「未検証」と表示します。
- 名前制約は表示するだけで、サーバー証明書の名前には当てはめません。
- ファイルは 1 MB まで、1 回の入力で証明書 200 枚までです。
FAQ
証明書はサーバーに送信されますか?
送信しません。解析はページ内の JavaScript の DER パーサーで行い、フィンガープリントと署名検証にはブラウザーの Web Crypto を使います。ページ自体は他の ZeroTool のページと同じく Google Analytics と AdSense を読み込みますが、貼り付けた内容はそれらに渡りません。
中間証明書を含むチェーンをまとめて貼り付けられますか?
はい。入力に含まれる証明書をすべて解析し、各証明書の次にその発行元が並んでいるか、次の証明書の公開鍵で署名が検証できるかを確認します。順序が違う場合は正しい順序でコピーできます。
秘密鍵が同じファイルに入っていたらどうなりますか?
PRIVATE KEY、RSA PRIVATE KEY、EC PRIVATE KEY などのブロックは解析せずにスキップし、秘密鍵を含む入力はブラウザーに保存しません。.pfx / .p12(PKCS #12)は開きません。openssl pkcs12 -nokeys で証明書だけを取り出してください。
表示される時刻は日本時間ですか?
いいえ、すべて UTC で表示し、横に証明書内の元の値(例:270225145959Z)を並べます。日本時間は 9 時間を足した時刻です。
ブラウザーがその証明書を信頼するかも分かりますか?
分かりません。トラストストアを持たず、失効確認もしません。判定するのは、貼り付けたチェーンがそろっているか、順序が正しいか、署名が合っているかです。信頼の判定は openssl verify や OS の証明書ストアで行ってください。