SSLShopper Certificate Key Matcher ↗ などの外部ツールで証明書を確認し、鍵が一致するかを調べられます。
または、openssl で両方のファイルの公開鍵ハッシュを比較して一致を確認します。この方法は RSA 証明書と ECDSA 証明書の両方で使えます。
openssl x509 -noout -pubkey -in certificate.crt | openssl md5
openssl pkey -pubout -in private.key | openssl md52 つの出力が一致すれば、証明書と鍵は有効なペアです。
openssl で証明書の詳細をすべて確認できます。
openssl x509 -in certificate.crt -noout -textアップロードする前に、情報がすべて正しいことを確認します。
Cloudflare は、パスワードで保護された秘密鍵を受け付けません。秘密鍵にパスワードが必要な場合は、アップロード前に削除します。次のコマンドは RSA 鍵と ECDSA 鍵の両方で使えます。
openssl pkey -in protected.key -out unprotected.keyCloudflare へアップロードするときは unprotected.key ファイルを使います。詳細は キーファイルのパスワードを削除する を参照してください。
秘密鍵は、次のいずれかの暗号化されていない形式である必要があります。
- PKCS#8
- PKCS#1
- Elliptic Curve
前のゾーンからカスタム証明書を削除せずにドメインを移動すると、前のゾーンが 削除される まで、その証明書が 優先 され、訪問者に提示されることがあります。
詳細は Cloudflare アカウント間でドメインを移動する を参照してください。
Cloudflare が使う 認証局(CA) の 1 つである Let's Encrypt は、信頼チェーン の変更を発表しています。このため問題が起きることがあります。
Let's Encrypt の証明書を自分でカスタム証明書としてアップロードしている場合は、次を確認してください。
- compatible または modern の バンドル方法 を使い、2024年9月9日より前に証明書をアップロードしている場合は、新しいチェーンでバンドルできるよう カスタム証明書を更新 します。
- user-defined バンドル方法を使う場合は、2024年9月30日以降にアップロードする証明書で Let's Encrypt のクロス署名チェーンを使わないようにします。
原因
アップロードしようとしている証明書が無効です。余分な行がある、BEGIN/END のテキストが正しくない、コピー&ペーストで余分な文字が入っている、などが考えられます。
PATCH API 呼び出し での更新の場合は、パスパラメーター {custom_certificate_id} が無効であることも意味します。
対処
証明書の内容を注意深く確認します。openssl で証明書の詳細をすべて確認できます。
openssl x509 -in certificate.crt -noout -textAPI を使う場合は、パスパラメーター {custom_certificate_id} を注意深く確認します。証明書 ID は、既存のカスタム証明書を一覧表示 すると確認できます(応答の id)。
原因
カスタム証明書のクォータを使い切っています。
対処
既存の証明書を更新する場合は、新しい証明書をアップロードするのではなく 既存の証明書を更新 します。ダッシュボード(または API の PATCH メソッド)で既存の証明書を更新すると、クォータ枠を再利用でき、ダウンタイムも避けられます。
別のホスト名向けに本当に新しい証明書が必要な場合は、使っていない証明書を先に削除するか、アカウントチーム(Enterprise)に連絡してクォータを増やします。
原因
すでにアップロード済みのカスタム証明書を、再度アップロードしようとしています。
対処
有効期限や鍵素材を更新して証明書を更新する場合は、新しい証明書をアップロードするのではなく 既存の証明書を更新 します。ダッシュボード(または API の PATCH メソッド)で更新すると、ダウンタイムを避けられ、追加のクォータ枠も消費しません。
原因
カスタム証明書パックには、署名アルゴリズムごとに 1 つの証明書しか入れられません(例: RSA 証明書 1 つと ECDSA 証明書 1 つ)。
対処
新しい証明書をアップロードするのではなく、ダッシュボードの編集オプションまたは PATCH API エンドポイント で既存の証明書を更新します。
原因
このエラーは、証明書パックの構造に問題があるときに発生します。この証明書を削除する前に、パック内のほかの証明書を削除する必要があります。
対処
先に証明書パック内のほかの証明書を削除してから、この証明書を削除します。問題が続く場合は Cloudflare サポートに問い合わせてください。
原因
カスタムオリジン信頼ストア に証明書をアップロードしようとしていますが、その証明書は有効なルート CA 証明書ではありません。
対処
自己署名のルート CA 証明書を作成するときは、OpenSSL で -extensions v3_ca オプションを使います。詳細は このコミュニティ投稿 ↗ を参照してください。
The SSL attribute is invalid. Please refer to the API documentation, check your input and try again. (Code: 1434)
原因
Chromium ベースのブラウザーに必要な暗号を、いずれもサポートしていないカスタム証明書をアップロードしようとしています。
対処
Chromium がサポートする暗号を証明書がサポートするように変更し、再度試します。
原因
カスタム証明書のクォータは、証明書の 種類(Custom Legacy と Custom Modern)によって異なります。
ある証明書 種類 をアップロードしようとして、すでにクォータに達している場合に、このエラーが発生します。
対処
まず、Edge Certificates ↗ ページでカスタム証明書の利用枠を確認します。
次に、実際に証明書をアップロードまたは編集するときは、Legacy Client Support で適切なオプションを選びます。
The certificate chain you uploaded cannot be bundled using Cloudflare's trust store. Please check your input and try again. (Code: 2100)
原因
ルート証明書とリーフ証明書を同時に含むカスタム証明書をアップロードしようとしています。
対処
リーフ証明書だけをアップロードします。
The certificate chain you uploaded has no leaf certificates. Please check your input and try again. (Code: 2101)
原因
ルート + 中間 + 中間の .crt ファイルをアップロードしようとしていますが、実際のリーフ証明書は別ファイルにあります。
対処
リーフを .crt ファイルに追加するか、リーフだけを使います。認証局の公開信頼チェーンは、Cloudflare の信頼ストアにあります。
The certificate chain you uploaded does not include any hostnames from your zone. Please check your input and try again. (Code: 2103)
原因
Cloudflare は、アップロードされたカスタム証明書に、関連ゾーンのホスト名が含まれていることを検証します。さらに、このホスト名は Subject Alternative Name(SAN)として含まれている必要があります。これは CA/Browser Forum ↗ が定めた標準に従っています。
対処
証明書に、ゾーン内のホスト名を指定する Subject Alternative Name(SAN)が含まれていることを確認します。次の openssl コマンドを使い、出力で Subject Alternative Name を探します。
openssl x509 -in certificateFile.pem -noout -text存在しない場合は、新しい証明書をリクエストする必要があります。
原因
Cloudflare は、SSL 秘密鍵と証明書を、それぞれ PEM エンコードした別ファイルとして求めています。
対処
認証局(CA)に連絡し、現在の証明書がこの要件を満たすかを確認するか、証明書形式の変換を依頼します。
証明書がこれらの 要件 に準拠していることを確認します。
Cloudflare ダッシュボードで証明書をアップロードする前に、証明書と秘密鍵が一致することを確認します。この外部リソース ↗ が役立つことがあります。
原因
アップロードした証明書と秘密鍵は、有効なペアではありません。秘密鍵が、証明書内の公開鍵に対応していません。アップロード時に誤った鍵ファイルを選ぶと、この状態になります。
対処
アップロードする証明書に対応する秘密鍵であることを確認します。両方のファイルの公開鍵ハッシュを比較して確認できます。この方法は RSA 証明書と ECDSA 証明書の両方で使えます。
openssl x509 -noout -pubkey -in certificate.crt | openssl md5
openssl pkey -pubout -in private.key | openssl md5出力が一致しない場合は、証明書と鍵が食い違っています。
原因
リクエストの処理中に内部エラーが発生しました。
対処
数分待ってから再試行します。問題が続く場合は、失敗したアップロードを記録した HAR ファイル を添えて Cloudflare サポートに問い合わせてください。