SSL証明書チェック
SSL Certificate Checker
ホストに接続して配信されている証明書チェーン・有効期限・対応プロトコルと暗号を表示し、チェーンの欠けを指摘します。
ホストへTLSで接続して、実際に配られたものをそのまま報告します。リーフからルートまでの証明書チェーン、それぞれの残り日数、サーバーが受け入れるプロトコル版と受け入れない版、そして合意された暗号スイート。すべてデータベースではなく、その場のハンドシェイクから出た結果です。
このリクエストは、こちらのサーバーが代わりに送ります。サーバーに渡るのはホスト名だけで、ブラウザの Cookie やログイン状態は一緒に送られません。サーバーは公開アドレスにしか接続せず、プライベートアドレスや内部アドレスへの接続は拒否します。
使い方
ホストを入れます(443以外ならポートも)
example.com、またはexample.com:8443です。接続した直後からTLSで始まるポート(8443・465・993・995・636・853)は使えます。587のようにSTARTTLSで上げるポートは使えません。
判定を見てから、個々の項目を読みます
判定は下に並ぶ項目の要約で、項目ごとに良好・参考・注意・問題のいずれかが付きます。実務でいちばん効いてくるのは、30日以内の期限切れと、欠けたチェーンの2つです。
リーフだけでなくチェーンの並びを見ます
サーバーが送ってきた順序のまま表示します。中間証明書を省いたサーバーはChromeでは動き(Chromeが足りない分を取りに行きます)、curlや古いAndroidでは失敗します。何週間も「自分の環境では動く」で居座る種類の不具合です。
どのプロトコル版を受け入れるかを見ます
版ごとに別の接続で試すので、その行は推論ではなくサーバーについての事実です。TLS 1.0と1.1を受け入れているなら手を打つ価値があります。RFC 8996で廃止された版です。
よくある質問
証明書は正常なのにブラウザが警告します
たいていはチェーン・名前・時計のどれかです。中間証明書をサーバーが一緒に送っているか、入力しているホストがSANの一覧にあるか(ブラウザはCNをまったく見ません)、端末の日付が合っているかを確かめてください。時計の狂った端末は、何の問題もない証明書を拒否します。
内部のサーバーも確認できますか
できません。接続はこちらのサーバーから出ていき、その経路はプライベートとループバックのアドレスを拒否します。内部のホストなら、openssl s_client -connect host:443 -servername host で同じチェーンを手元で見られます。
1つのIPに複数サイトなのに、なぜ正しい証明書が返るのですか
ハンドシェイクのときにホスト名をSNIとして送っているからです。サーバーはそれを見てどの証明書を出すかを決めます。IPアドレスだけでは確認できない理由も同じです。
失効も確認しますか
しません。OCSPもCRLも問い合わせないので、失効済みでも期限内の証明書はここでは正常に見えます。実際の限界です。このツールが見せるのは、サーバーが何を配ったかと、チェーンと日付が成立しているかまでです。
ここから渡せます
証明書デコーダー
Certificate Decoder
PEMやDERの証明書・CSRを解いて、サブジェクト・SAN・有効期間・鍵用途とチェーンの手がかりを示します。
DNSレコード検索
DNS Lookup
A・AAAA・CNAME・MX・TXT・NS・SOA・SRV・CAA・PTRをDoHで引き、TTLとDNSSECの有無をCloudflareかGoogleのどちらかで表示します。
WHOIS検索
WHOIS Lookup
ドメインの登録情報・レジストラ・ネームサーバー・有効期限と、あればRDAPのデータも表示します。
HTTPヘッダー確認
HTTP Header Inspector
URLを取得して、レスポンスヘッダーの全文・リダイレクトの連鎖・所要時間・使われた圧縮方式を表示します。
次の一手
このツールが出したものをそのまま受け取れる道具です。
証明書デコーダー
Certificate Decoder
PEMやDERの証明書・CSRを解いて、サブジェクト・SAN・有効期間・鍵用途とチェーンの手がかりを示します。
CSR生成
CSR Generator
サブジェクトの各項目とSANのエントリから、証明書署名要求とその秘密鍵を作ります。
DNSレコード検索
DNS Lookup
A・AAAA・CNAME・MX・TXT・NS・SOA・SRV・CAA・PTRをDoHで引き、TTLとDNSSECの有無をCloudflareかGoogleのどちらかで表示します。
セキュリティヘッダー診断
Security Header Scan
サイトのHSTS・CSP・フレーム・リファラ・権限の各ヘッダーを採点し、何を足すべきかを示します。
HTTPリクエスト作成
HTTP Request Builder
GET/POST/PUT/PATCH/DELETE/HEADをヘッダーと本文まで指定して送り、ステータス・ヘッダー・本文・所要時間を表示します(CookieとAuthorizationは転送しません)。
為替レート換算
Currency Converter
欧州中央銀行の日次基準レートでユーロを経由して約30通貨を換算し、銀行に言われたレートを自分で入れることもできます。