SSLチェッカー
無料のSSL証明書チェックツールで、どのサイトのSSL証明書もオンラインで確認できます。有効かどうか、有効期限、すべてのブラウザーでの信頼チェーン、失効、TLSバージョンと暗号スイートを調べ、数秒でA+〜Fの評価を付けます。Webサイトにもメールサーバーにも使えます。
SSLチェッカーで確認できること
SSLチェッカーは、ブラウザーと同じようにサーバーに接続し、サーバーが提示する証明書を読み取るツールです。このツールはTLSの通信を自前で行うため、サーバーが送ってくるものをそのまま確認できます。証明書とそのチェーン、プロトコルバージョン、暗号スイート、鍵交換です。Cloudflareの背後にあるサイトは当サイトからの接続を拒否するため、その場合は証明書をCTログから取得し、プロトコルのスキャンと評価は行いません。IPv6のみのサーバーには、まだ接続できません。そのうえで、ブラウザーとOSが使う4つのルートストアに照らしてチェーンを検証し、証明書が失効していないかをCAに問い合わせ、サーバーが古いプロトコルや弱い暗号をまだ受け付けていないかをスキャンします。
結果は、SSLテストとTLSチェッカーを兼ねています。わかりやすい言葉での判定、理由付きのA+〜Fの評価、その根拠となる詳細です。証明書の周辺の設定、つまりHSTSヘッダー、HTTPからHTTPSへのリダイレクト、CAAレコード、Certificate Transparencyログも確認します。

判定有効かどうかをひと言で示し、残り日数、発行者、理由付きの評価を表示します。有効期間証明書が有効期間のどこにあるかを示します:発行日、今日、有効期限を、発行日に応じた上限と比べて表示します。信頼チェーンサイトからルートまでのすべての証明書と、それぞれの入手方法、4つのルートストアの判定を表示します。チェック項目ホスト名、チェーン、信頼性、失効、プロトコル、鍵交換、HSTS、CAA。問題があれば、それぞれに修正方法を示します。SSL証明書を確認する方法
手軽な方法から詳しい方法まで、3つあります:
- 1
このSSL証明書チェックツールで
ドメイン(またはURL、ほかのサービスならhost:port)を入力し、SSLをチェックを選びます。まず証明書とそのチェーンが届き、続いて失効、プロトコルのスキャン、HSTSの結果が加わり、最後に判定と評価が表示されます。
- 2
ブラウザーで
アドレスの左にあるアイコンを選び、ChromeではConnection is secure(接続は保護されています)、Certificate is valid(証明書は有効です)の順に、FirefoxではMore information(詳細を表示)を選びます。名前、発行者、日付はわかりますが、サーバーが送ったとおりのチェーン、許可しているプロトコル、失効しているかどうかはわかりません。Chromeは、ほとんどの失効をオンラインで確認しないからです。
- 3
opensslで
openssl s_client -connect example.com:443 -servername example.com -showcerts </dev/nullで、サーバーが送るチェーンが表示されます。有効期限を見るには、出力をopenssl x509 -noout -datesにパイプします。コマンドは下の表と、結果の「チェーン」ビューにあります。
SSL証明書の有効期限を確認する方法
上でドメインを確認してください。結果には残り日数が表示され、発行日から有効期限までの証明書の有効期間全体が示されます。有効期限に表示される日時は証明書のnotAfterフィールドの値で、その時刻を過ぎると、すべてのブラウザーが全画面の警告を表示します(ChromeではNET::ERR_CERT_DATE_INVALID)。
ターミナルでは、echo | openssl s_client -connect example.com:443 -servername example.com 2>/dev/null | openssl x509 -noout -enddateで同じ日付が表示され、-checkend 2592000を使えば、30日以内に期限が切れるかどうかをスクリプトで判定できます。「履歴」ビューからは、有効期限前の好きな日付でカレンダーのリマインダーをダウンロードでき、アカウントは不要です。
Let's Encryptは2025年6月に有効期限の通知メールを廃止し、証明書の有効期間も短くなっているため、更新は自動化すべきです。有効期間の約3分の2の時点(90日の証明書なら60日目)で更新するか、ACME Renewal Information(RFC 9773)で更新のタイミングをCAに決めてもらいます。
証明書の有効期間 · example-shop.com
$ echo | openssl s_client -connect example-shop.com:443 -servername example-shop.com 2>/dev/null | openssl x509 -noout -enddate
notAfter=Nov 30 07:11:59 2026 GMT
$ echo | openssl s_client -connect example-shop.com:443 -servername example-shop.com 2>/dev/null | openssl x509 -noout -checkend 2592000
Certificate will not expireSSL証明書の有効期間が短くなっているのはなぜですか?
ブラウザーとCAが投票で決めたからです。CA/Browser Forumの投票SC-081(2025年4月)により、パブリックなTLS証明書の最長有効期間は3段階で短縮されます。鍵が漏えいした証明書や、記載された身元情報が古くなった証明書を、より早く使えなくするためです:
ドメイン認証の再利用期間も同時に短くなります。CAが完了済みのドメイン認証を再利用できる期間は、現在は200日、2027年からは100日、2029年3月からはわずか10日になるため、ほぼ毎回、ドメインを改めて証明することになります。
Let's Encryptは独自のスケジュールでさらに先を行きます。90日の証明書は2027年2月10日に64日、2028年2月16日に45日の証明書になり、6日間の証明書はすでに利用できます。発行日時点の上限より長い有効期間がこのチェッカーに表示された証明書は、規則に違反しています(Chromeは拒否します)。
- 2020年以降398日
- 2026年3月15日200日
- 2027年3月15日100日
- 2029年3月15日47日
年に1回の手動更新は、2026年3月15日に通用しなくなりました。ACMEクライアント(Certbot、Caddy、ホスティング会社のAutoSSL)を使い、更新が実際に行われているかを確認してください。
SSLチェーンチェッカー:リーフ証明書、中間証明書、ルート証明書
ブラウザーがサイトの証明書を信頼するのは、その証明書から、ルートストアにあるルート証明書まで署名のチェーンがつながっているからです。サーバーは自身の証明書と中間証明書を送る必要があり、ルート証明書はすでにデバイスにあります。このチェーンチェッカーはチェーンを2通りに表示します。サーバーが送ったとおりのチェーンと、各ストアが信頼するルートまで含めたブラウザーが組み立てるチェーンです。
最もよくある間違いは中間証明書の不足で、サーバーが自身の証明書しか送っていない状態です。Chromeは通常、証明書に記載されたアドレス(AIA)から不足分を取得でき、FirefoxはCAがCCADBに開示した中間証明書をあらかじめ読み込んでいるため、ブラウザーではサイトが正常に見えます。しかし、アプリ、APIクライアント、curlなどのツールはそうしないことが多く、unable to get local issuer certificateのようなエラーで失敗します。
- リーフ証明書(サイトの証明書)
- サブジェクト代替名(SAN)にサイトの名前を記載し、サーバーの公開鍵を持ちます。2026年3月15日以降に発行されたものは、有効期間が最長200日です。
- 中間証明書
- ルートが署名し、サイトの証明書に署名します。これにより、ルートの鍵をオフラインで保管できます。サーバーが送る必要があります。
- ルート証明書
- 自己署名の証明書で、ブラウザーやOSがルートストアに収録しているため信頼されます。送ってもかまいませんが、意味はありません。
不完全なチェーンを修正する
- 1
証明書単体ではなく、CAから提供されたフルチェーンのファイル(fullchain.pemやca-bundleという名前が多い)をインストールします。結果の「チェーン」ビューから、正しいバンドルをダウンロードできます。
- 2
nginx:
ssl_certificateには、証明書の後に中間証明書を続けた1つのファイルを指定します。 - 3
Apache 2.4.8以降:
SSLCertificateFileのファイルに、証明書に続けて中間証明書を入れます(それより古いバージョンではSSLCertificateChainFileを使います)。 - 4
もう一度確認します。チェーンが4つのストアすべてでルートに到達し、当サイトで取得と表示された証明書が1つもなければ完了です。
信頼チェーン
- サイトの証明書example-shop.comLet's Encrypt · DV · RSA 2048サーバーが送信
- 中間証明書R13RSA 2048 · 2027年3月までサーバーが送信
- ルートISRG Root X12035年6月までルートストアから
- ルートストアすべてのストアで信頼
よくあるSSL証明書エラーと対処法
ブラウザーの警告の意味と、チェッカーでの表示内容です:
NET::ERR_CERT_DATE_INVALID
SEC_ERROR_EXPIRED_CERTIFICATE / MOZILLA_PKIX_ERROR_NOT_YET_VALID_CERTIFICATE
証明書の有効期限が切れている(またはまだ有効になっていない)か、デバイスの時計がずれています。
証明書を更新して新しい証明書をインストールし、更新を自動化します。チェッカーの有効期間の目盛りに日付が表示されます。
NET::ERR_CERT_AUTHORITY_INVALID
SEC_ERROR_UNKNOWN_ISSUER / MOZILLA_PKIX_ERROR_SELF_SIGNED_CERT
チェーンが信頼されたルートにつながっていません。自己署名やプライベートCAの証明書か、中間証明書の不足が原因です。
パブリックCAの証明書を、完全なチェーンとともにインストールします。信頼チェーンを見れば、どこで途切れているかがわかります。
NET::ERR_CERT_COMMON_NAME_INVALID
SSL_ERROR_BAD_CERT_DOMAIN
証明書に、開いたサイトの名前が記載されていません。ワイルドカードが対象とするのは1階層だけで、*.example.comはexample.comにもa.b.example.comにも一致しません。
サイトが応答するすべての名前を、wwwも含めて記載した証明書を発行します。
ERR_SSL_VERSION_OR_CIPHER_MISMATCH
SSL_ERROR_NO_CYPHER_OVERLAP / SSL_ERROR_UNSUPPORTED_VERSION
ブラウザーとサーバーに共通のプロトコルバージョンや暗号スイートがありません。多くの場合、サーバーがTLS 1.0や古い暗号しか提供していないことが原因です。
TLS 1.2とTLS 1.3を、AEAD暗号とともに有効にします。サーバーが受け付ける内容は「プロトコル」ビューに一覧表示されます。
サーバーが対応すべきTLSバージョンは?
TLS 1.3とTLS 1.2だけで、それより古いものは不要です。TLS 1.0と1.1は2021年3月から正式に非推奨となっており(RFC 8996)、現在のブラウザーはすべて拒否します。SSL 3.0は安全性が破綻しています。現在RFC 9846となっているTLS 1.3は、より高速で(往復1回)、前方秘匿性のあるAEAD暗号だけを残しています。
次に注目すべきは鍵交換です。Chrome、Firefox、Appleのシステムは現在、X25519とポスト量子暗号ML-KEM(FIPS 203)を組み合わせ、RFC 10024でTLS向けに標準化されたハイブリッド方式X25519MLKEM768を提示しています。これにより、今日記録された通信が将来の量子コンピューターで解読されることを防げます。2025年後半には、Cloudflareを経由する人間のトラフィックの半分以上がこれを使っていましたが、対応しているオリジンサーバーはまだわずかです。ご自身のサーバーが対応しているかは「プロトコル」ビューで確認できます。
SSLの評価の仕組み
評価は、Qualys SSL Labsの評価ガイドを手本にしています。ブラウザーがエラーとして表示する問題があれば、まずそれで等級が決まり、そのうえで弱い設定ごとに、得られる最高の等級に上限がかかります。
| 評価 | 条件 |
|---|---|
| A+ | 減点のないAに加えて、TLS 1.3と、6か月以上のHSTS。 |
| A | 信頼されていて、TLS 1.2と1.3のみ、前方秘匿性とAEAD暗号。メールサーバーの最高評価はここまでです(HSTSはWebサイト向けのため)。 |
| A- | TLS 1.3に非対応、または有効なHSTSヘッダーのないWebサイト。 |
| B | TLS 1.0、TLS 1.1、RC4をまだ受け付けている、2048ビット未満の鍵、前方秘匿性やAEADがない、またはチェーンが不完全。 |
| C | SSL 3.0が有効、最新のクライアントにも3DESやRC4が選ばれる、またはTLS 1.2にも1.3にも非対応。 |
| F | 有効期限切れ、失効済み、輸出グレードの暗号、RC4のみ、またはSSL 3.0が最上位のプロトコル。 |
| T / M | 信頼されていない(T)、または別の名前に発行されている(M)。設定にかかわらず、ブラウザーは警告を表示します。修正後に得られる等級もあわせて表示します。 |
HSTS、CAA、OCSPなどの設定
HSTS
Strict-Transport-Securityヘッダーは、max-ageの秒数のあいだHTTPSだけを使うようブラウザーに指示します。期間を1年以上にし、includeSubDomainsとpreloadを指定すれば、ブラウザーに組み込まれたHSTSプリロードリストに登録できます。結果では、ヘッダーとリストの両方を確認します。HTTPからHTTPSへ
http://は、何よりも先に同じ名前のhttps://へリダイレクトさせます。そうしないと、最初のアクセスが暗号化されないままになります。
CAAレコード
DNSのCAAレコードは、そのドメインの証明書を発行できるCAを指定するもので、すべてのパブリックCAが確認しなければなりません。結果にはレコードと、現在の証明書を発行したCAを許可しているかどうかが表示されるため、更新の失敗を防げます。
失効
2024年以降、CRLは必須、OCSPは任意となり、Let's Encryptは2025年8月にOCSPサービスを終了しました。OCSPのアドレスがない証明書は正常で、チェッカーは代わりにCRLを確認します。
OpenSSLでSSL証明書を確認する
同じ確認を行うopensslコマンドです。macOS、Linux、Windows(OpenSSLをインストール済みの場合)で使えます。example.comをご自身のホスト名に置き換えてください:
| 確認する内容 | コマンド |
|---|---|
| サーバーが送るチェーン | openssl s_client -connect example.com:443 -servername example.com -showcerts </dev/null |
| 有効期限 | echo | openssl s_client -connect example.com:443 -servername example.com 2>/dev/null | openssl x509 -noout -dates |
| 30日以内に期限切れになるか | echo | openssl s_client -connect example.com:443 -servername example.com 2>/dev/null | openssl x509 -noout -checkend 2592000 |
| 名前、発行者、鍵 | echo | openssl s_client -connect example.com:443 -servername example.com 2>/dev/null | openssl x509 -noout -text |
| TLS 1.3を受け付けるか | openssl s_client -connect example.com:443 -servername example.com -tls1_3 </dev/null |
| メールサーバー(STARTTLS) | openssl s_client -connect mail.example.com:587 -starttls smtp -servername mail.example.com </dev/null |
SSLチェッカーAPI
CORSに対応した無料のエンドポイントです。/api/ssl-certificateに{"domain": "example.com"}をPOSTすると、以前のAPIのフィールドが返ります。信頼性、署名、バージョンは実際の値になり、評価、各ストアの判定、失効状態も加わりました。1つのネットワークにつき1分あたり30回まで確認でき、10分以内の同じ確認にはキャッシュから応答します。
$ curl -X POST https://dnsrobot.net/api/ssl-certificate \
-H "Content-Type: application/json" -d '{"domain": "github.com"}'
{
"success": true, "domain": "github.com",
"leafCertificate": { "daysToExpire": 39, "isValid": true, … },
"trustStatus": { "isTrusted": true, "hasValidChain": true, … },
"v2": { "state": "valid", "grade": "A+",
"stores": { "mozilla": true, "chrome": true, … }, … }
}SSLチェッカーに関するよくある質問
WebサイトのSSL証明書が有効か確認するにはどうすればよいですか?
SSL証明書の有効期限を確認するにはどうすればよいですか?
openssl x509 -noout -enddateを実行すると日付が表示されます。2026年3月15日以降に発行されたパブリック証明書の有効期間は最長200日なので、更新は自動化すべきです。「履歴」ビューからは、カレンダーのリマインダーもダウンロードできます。SSLチェック(SSLテスト)では何を確認しますか?
中間証明書とは何ですか?チェーンが不完全になるのはなぜですか?
Chromeでは表示できるのに、アプリやほかのブラウザーでエラーになるのはなぜですか?
2026年のSSL証明書の有効期間はどのくらいですか?
SSLの評価A+、A、B、T、Mはそれぞれ何を意味しますか?
メールサーバーやほかのポートのSSL証明書も確認できますか?
SSL証明書が失効しているかどうかを確認するには?
自分のWebサイトは量子コンピューターに対して安全ですか?
SSLとTLSの違いは何ですか?
このSSLチェッカーは無料ですか?確認した内容は保存されますか?
その他のセキュリティ・DNSツール
CSR・SSL証明書デコード
CSRやSSL証明書をデコード:サブジェクト、SAN、鍵長、有効期間、発行者、フィンガープリント、署名検証、CSRと証明書の一致確認
CSR作成ツール
ブラウザ内で証明書署名要求と秘密鍵を作成:RSA・ECDSA対応、SANを追加でき、対応するOpenSSLコマンドも表示
HTTPヘッダーチェッカー
HTTPレスポンスヘッダーとセキュリティヘッダーのグレーディング分析
DNS検索
ドメイン自身のネームサーバーから全DNSレコードを取得し、GoogleとCloudflareのキャッシュと比較
SMTPテストツール
メールサーバーをテスト:STARTTLS、証明書、AUTH、オープンリレー
ポートチェッカー
ポートの接続性とサービスの可用性をテスト