📜 SSL / TLS 証明書確認
ホスト名を入れるだけで SSL/TLS 証明書を取得し、発行者・有効期限・Subject Alternative Name・証明書チェーンを確認します。
完全無料
登録不要
サーバー処理
ログ・DB 保存なし
レート制限あり
5 言語対応
ダークモード
📖 この診断で分かること
ブラウザの鍵マークは「証明書が有効」「発行元を信頼している」「ドメイン名が一致している」の 3 つが同時に成り立ったときだけ点きます。この診断は実際に TLS ハンドシェイクを行い、返ってきた証明書の有効期限・発行者・対象ドメイン・チェーンの構成を確認します。ローカルのブラウザで見えていても、証明書チェーンが不完全だと一部の環境だけで失敗します — Android の古い端末や curl、サーバー間通信で落ちるのがこのパターンです。
| 判定項目 | 何を見ているか | 引っかかったときの対処 |
|---|---|---|
| 有効期限 | 残り日数です。Let's Encrypt は 90 日なので、自動更新が止まっていれば 60 日ほどで警告域に入ります。 | certbot なら certbot renew --dry-run で更新経路が生きているか確認します。失敗の大半は 80 番ポートが塞がっている (HTTP-01 が通らない) か、更新後に nginx をリロードしていないかのどちらかです。 |
| 証明書チェーン | サーバー証明書から信頼されたルートまでの経路です。中間証明書を配信していないと、それを手元に持っていないクライアントだけが検証に失敗します。 | nginx は ssl_certificate に サーバー証明書 + 中間証明書を連結した ファイル (certbot なら fullchain.pem) を指定します。cert.pem を指すのがこの不具合の典型的な原因です。 |
| ドメイン名の一致 (SAN) | 証明書が対象としているホスト名の一覧です。現在は CN ではなく SAN が見られます。example.com と www.example.com は別名なので、両方載っている必要があります。 |
certbot なら -d example.com -d www.example.com のように必要なホストをすべて並べて取り直します。ワイルドカード証明書は DNS-01 チャレンジが必要で、*.example.com は example.com 自身を含まない点にも注意してください。 |
| TLS バージョン | TLS 1.0 / 1.1 は失効済みで、PCI DSS でも禁止されています。1.2 が最低ライン、1.3 が現行です。 | nginx なら ssl_protocols TLSv1.2 TLSv1.3; に絞ります。古い端末を切り捨てる判断になるので、アクセスログの User-Agent を見てから決めてください。 |
ブラウザは一度取得した中間証明書をキャッシュするため、チェーンが不完全でも手元では再現しないことがあります。openssl s_client -connect example.com:443 -servername example.com の出力に中間証明書が含まれているかを見るのが確実です。