SSL 証明書パーサー

PEM 証明書を貼り付けると表として読めます:発行者、サブジェクト、対象の名前、有効期間、フィンガープリント——すべてブラウザ内で解析します。任意の crt.sh 検索では、同じドメインの Certificate Transparency 履歴も表示できます。サーバーが今まさに提示しているものを見たい場合は、代わりに SSL チェッカー を使ってください。

証明書を解析する

Certificate Transparency 履歴(任意)

あるドメインに対して発行され、公開記録されたすべての証明書を crt.sh で検索します。これは履歴であってライブチェックではありません:予期しない証明書も含め、何が発行されたかを示します。このブラウザから crt.sh に到達できない場合、このセクションはその旨をはっきり報告し、上のパーサーには影響しません。

証明書の読み方

証明書は三つのものを結び付けます:公開鍵、名前のリスト、有効期間——すべて発行者が署名します。サブジェクトは証明書が誰に発行されたかを示し、発行者はどの機関が署名したかを示します。インフラを引き継いだとき、更新の手がかりはそこにあります。シリアル番号はこの証明書に対する発行者の一意の識別子で、機関が兄弟証明書に触れずに一枚だけ失効させるときに役立ちます。署名アルゴリズムは発行者の署名がどう作られたかを示します。MD5 や SHA-1 のままのものは退役日をとうに過ぎているので、有効期限にかかわらず交換すべきです。

有効期間は締め切りのある部分で、このページはそれをライブチェッカーと同じ色分けの残り日数に変換します:90 日を超えれば快適、90 日以内で琥珀色、30 日以内で赤、ゼロを過ぎればはっきり期限切れです。対象の名前のリストこそブラウザが実際に確認するもので、コモンネームは昔の飾りにすぎません。このリストに名前が欠けていることが、それ以外は健全なサイトでブラウザ警告が出る最も一般的な原因です。SHA-256 フィンガープリントは証明書の正確なバイト列に対するコンパクトな識別子です:フィンガープリントが同じ二枚の証明書は同一の証明書であり、手元のものをログやベンダーや同僚の主張と比べる確実な方法になります。

パーサー、ライブチェック、透明性ログの違い

三つの異なる問いには三つの異なるツールがあり、混同すると本当に混乱します。「このファイルには何が入っているのか?」はこのページのパーサーです——オフラインで、正確で、手元のファイルに限られます。「サーバーは今まさに何を提示しているのか?」は SSL チェッカー で、本物の TLS ハンドシェイクを行うためファイルと食い違うことがあります:ディスク上で更新された証明書は、サーバーが再読み込みされるまで何の意味もありません。「このドメインに対して今までに何が発行されたのか?」は crt.sh 検索で、公開された Certificate Transparency ログを読み、他の二つでは見えない、忘れられた発行や無許可の発行を浮かび上がらせることがあります。ファイルを読むにはパーサー、デプロイを検証するにはチェッカー、履歴を監査するにはログ検索を使い、チェッカーとファイルが食い違うときはチェッカーを信じてください。四つ目の問いはまた別のツールの領分です:複数のファイルが組み合わさるかどうか——どの秘密鍵がこの証明書と合うのか、チェーンをどの順序で提示すべきか——は、共有する公開鍵で証明書・鍵・CSR をグループ化する 証明書と鍵のマッチャー です。

証明書の解析には node-forge を使用しています(BSD-3-Clause ライセンス)。オンライン検索では入力したドメインが crt.sh に送信されます。PEM パーサー自体はネットワークリクエストを行いません。

よくある質問

SSL チェッカーとはどう違うのですか?

SSL チェッカーはサーバーに対してライブの TLS ハンドシェイクを行い、サーバーが今まさに提示している証明書を報告します。このページは貼り付けた証明書テキストを解析します——証明書ファイルがあるとき、CSR の作業フローのとき、ここから到達できないシステムの証明書のときに役立ちます。サイトに到達できるなら SSL チェッカーを、ファイルしかないならこのページを使ってください。

crt.sh は何を加えてくれますか?

crt.sh は公開された Certificate Transparency ログを検索します:あるドメインに対して発行されたことのある、公的に信頼されるすべての証明書を、発行者と有効期限付きで表示します。「何が発行されたか」に答えるもので、予期しない証明書も含みます。サーバーが今日何を提示しているかは教えてくれません。それができるのはライブのハンドシェイクだけです。

crt.sh 検索が失敗するのはなぜですか?

crt.sh は無料のサードパーティサービスで、ブラウザがその回答を読めるかどうかはクロスオリジンのヘッダー次第です。ここで失敗した場合、ページはその旨をはっきり伝え、上の PEM パーサーは動き続けます——オンライン検索は強化機能であって、ツールそのものではありません。

SAN はコモンネームにない何を教えてくれますか?

現代のブラウザはコモンネームを無視し、代わりにサブジェクト代替名のリストを確認します。証明書はそのリストにある名前にちょうど有効です:www のない裸のドメインや、忘れられたサブドメインが、それ以外は健全なサイトでブラウザ警告が出る最も一般的な原因です。

証明書を貼ると何か漏れますか?

証明書は設計上公開文書であり、秘密鍵も秘密も含みません。秘密鍵は別のファイルで、決してどこにも貼ってはいけません。なお、ここの解析はいずれにせよ完全にブラウザ内で行われます。