SSL証明書チェッカー

HTTPSサイトの証明書を確認します。発行者、有効期限までの残り日数、証明書が対象とする名前、ネゴシエートされたTLSバージョンを表示します。

入力した名前だけをサーバーへ

URLのままでも構いません。ホスト名だけを使います。

使い方

ドメイン名を入力すると、当サーバーがその宛先へ通常のHTTPS接続を行い、サイトが提示する証明書を読み取って結果を表示します。まず見るべきは残り日数で、その下に発行者、証明書が発行された名前、有効期間、双方が合意したTLSバージョンが並びます。URLをそのまま貼り付けても構いません。ホスト名より後ろは無視します。

証明書は単体では何も証明しません。信頼を作るのは連鎖です。ブラウザには数十の認証局のルート証明書が同梱されており、ルートが中間証明書に署名し、中間証明書がウェブサイトの証明書に署名します。接続するとサーバーは自分の証明書と中間証明書をまとめて送り、ブラウザはすでに信頼しているルートに届くまで連鎖をさかのぼります。ここに表示される発行者はサイト証明書に署名した組織で、多くは Let's Encrypt・Google Trust Services・DigiCert などが運用する中間認証局です。サーバーが中間証明書を送り忘れると、デスクトップのブラウザは補完してくれることが多い一方、スマートフォンやコマンドラインのクライアントはそのまま失敗します。自分には正常に見えるサイトが同僚には開けない、という食い違いはこうして生まれます。

期限切れは誰もがいつか経験する障害です。証明書の寿命が短いのは意図的な設計で、Let's Encrypt は90日、業界の基準はさらに短くなりつつあります。鍵が盗まれても証明書が切れれば使い道がなくなるからです。その代わり更新は自動化が前提で、その自動化を見張る目も要ります。実際に期限が切れるとブラウザは小さな警告ではなく全面のブロック画面を出し、訪問者のほとんどはそこを越えてきません。APIクライアントは接続そのものを拒否します。更新はふつう期限の30日前に走るため、残り2週間を切っているということは自動更新がすでに二度失敗している合図で、人が見る必要があります。このツールが黄色に変わるのがまさにその地点です。

日付と同じくらい重要なのが名前の一覧です。証明書が有効なのは SAN(サブジェクト代替名)に書かれた名前に対してだけで、ブラウザは古い CN フィールドを見ません。*.example.com のようなワイルドカードは一段しか覆いません。blog.example.com は対象でも shop.eu.example.com は対象外です。さらに example.com そのものは個別に記載がなければ含まれません。毎週誰かがこの違いにつまずいています。TLSバージョンの行は、この接続が実際に何で確立されたかを示します。TLS 1.3 が現行でハンドシェイクも速く、TLS 1.2 もまだ問題ありませんが、それより古いものはとうに非推奨で最新のクライアントは拒否します。

サーバーへ送られるのは入力したドメイン名だけで、サーバーはその公開ホストに接続するだけです。ファイルは送信されず、利用者自身の接続を覗いたり保存したりすることもありません。

あわせてよく使われるツール