すべてのプロダクト
Search
ドキュメントセンター

Certificate Management Service:Web サイトの不完全な SSL 証明書チェーンの解決方法

最終更新日:Sep 10, 2026

証明書チェーンは、ルート証明書、中間証明書、および SSL 証明書 (サーバー証明書) で構成されます。中間証明書またはルート証明書が欠落している場合、Web サイトにアクセスすると、ブラウザーに接続失敗やその他のエラーが表示されることがあります。このトピックの手順に従って、証明書チェーンが完全であるかどうかを確認し、不完全な証明書チェーンを解決します。

ステップ 1: SSL 証明書チェーンの完全性の確認

サーバーで次のコマンドを実行して、証明書チェーンの完全性を確認します。この操作は、Web サイトの公開前にサーバー上で直接実行できます。

  • <Server_IP>:サーバーの実際の IP アドレスに置き換えます。

  • <Domain_Name>:Web サイトの実際のドメイン名に置き換えます。

openssl s_client -connect <Server_IP>:443 -servername <Domain_Name>

openssl s_client -connect <Server_IP>:443 -servername <Domain_Name> の出力では、Certificate chain セクションに証明書チェーンの階層が一覧表示されます。depth は証明書のレベルを示します (depth 0 はサーバー証明書、depth 1 以上は中間証明書またはルート証明書です)。Verify return code は証明書チェーンの検証結果を示します。次の 2 つのサンプル出力を比較して、証明書チェーンが完全かどうかを判断します。

完全な証明書チェーンの出力例(証明書チェーンが完全で、Verify return code が 0 の場合):

depth=2 O = GlobalSign, CN = GlobalSign
verify return:1
depth=1 C = BE, O = GlobalSign nv-sa, CN = GlobalSign RSA OV SSL CA 2018
verify return:1
depth=0 C = CN, CN = www.example.com
verify return:1
CONNECTED(00000003)
---
Certificate chain
 0 s:C = CN, CN = www.example.com
   i:C = BE, CN = GlobalSign RSA OV SSL CA 2018
 1 s:C = BE, O = GlobalSign nv-sa, CN = GlobalSign RSA OV SSL CA 2018
   i:O = GlobalSign, CN = GlobalSign
---
...
Verify return code: 0 (ok)

不完全な証明書チェーンの出力例 (中間証明書が欠落しており、サーバー証明書のみが返され、Verify return code は 21 になります):

depth=0 C = CN, CN = www.example.com
verify error:num=20:unable to get local issuer certificate
verify return:1
---
Certificate chain
 0 s:C = CN, CN = www.example.com
   i:C = BE, CN = GlobalSign RSA OV SSL CA 2018
---
...
Verify return code: 21 (unable to verify the first certificate)

2 つの出力を比較すると、完全な証明書チェーンの場合、Certificate chain セクションには複数の depth エントリ (サーバー証明書に加えて中間証明書とルート証明書) が含まれ、Verify return code は 0 になります。不完全な証明書チェーンの場合、Certificate chain セクションには depth 0 (サーバー証明書) のみが含まれ、verify error (たとえば、エラーコード 20 や 21) が表示され、Verify return code は 0 以外になります。したがって、コマンド出力にサーバー証明書 (depth 0) のみが含まれ、中間証明書 (depth 1 以上) が欠落している場合、または Verify return code が 0 以外の場合、証明書チェーンは不完全です。

---
Certificate chain
 0 s:C = CN, ST = Beijing, O = "xxx Technology Co., Ltd", OU = service operation department, CN = www.xxx
   i:C = US, O = DigiCert Inc, CN = DigiCert SHA2 Secure Server CA
 1 s:C = US, O = DigiCert Inc, CN = DigiCert SHA2 Secure Server CA
   i:C = US, O = DigiCert Inc, OU = www.digicert.com, CN = DigiCert Global Root CA
---

サーバー証明書と中間証明書が同じファイルに保存されている場合は、それらの間にスペースや改行がないことを確認してください。

-----BEGIN CERTIFICATE-----
MIIJBzCCB++gAwIBAgIJAJGNv9rVgB8rMA0GCSqGSIb3DQEBCwUAMIGOMQswCQYD
......
6616mkcOi0SU770=
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
MIIEODCCA7igAwIBAgIBBzANBgkqhkiG9w0BAQsFADCBgzELMAkGA1UEBhMCVVMx
......
LXY2JtwE65/3YR8V3Idv7kaWKK2hJn0KCacuBKONvPi8BDAB
-----END CERTIFICATE-----

ステップ 2: 証明書の再ダウンロードと設定