Cloudflare for SaaS のカスタムホスト名向けに、カスタム証明書を管理する方法を説明します。ユースケースと制限は カスタム証明書 を参照してください。
このセクションでは、対応タイプ のいずれかに該当するカスタム証明書をアップロードする一般的な手順を説明します。
ダッシュボードでカスタム証明書をアップロードするには、カスタムホスト名の作成 時に Custom certificate を選択します。
bundle method の選択肢については、Cloudflare SSL/TLS のドキュメント を参照してください。
次の呼び出しは、app.example.com で使う証明書をアップロードします。
OpenSSL で生成した ECC キーを使う場合は、先にファイルから -----BEGIN EC PARAMETERS-----...-----END EC PARAMETERS----- の区間を削除する必要があります。
- ファイルを更新し、ペイロードを組み立てます
cat app_example_com.pem-----BEGIN CERTIFICATE-----
MIIFJDCCBAygAwIBAgIQD0ifmj/Yi5NP/2gdUySbfzANBgkqhkiG9w0BAQsFADBN
MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMScwJQYDVQQDEx5E
...
SzSHfXp5lnu/3V08I72q1QNzOCgY1XeL4GKVcj4or6cT6tX6oJH7ePPmfrBfqI/O
OeH8gMJ+FuwtXYEPa4hBf38M5eU5xWG7
-----END CERTIFICATE-----MYCERT="$(cat app_example_com.pem|perl -pe 's/\r?\n/\\n/'|sed -e 's/..$//')"
MYKEY="$(cat app_example_com.key|perl -pe 's/\r?\n/\\n/'|sed -e's/..$//')"証明書とキーを環境変数へ保存したら(改行はエスケープします)、ペイロードを組み立てます。
$ echo $MYCERT
-----BEGIN CERTIFICATE-----\nMIIFJDCCBAygAwIBAgIQD0ifmj/Yi5NP/2gdUySbfzANBgkqhkiG9w0BAQsFADBN\nMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMScwJQYDVQQDEx5E...SzSHfXp5lnu/3V08I72q1QNzOCgY1XeL4GKVcj4or6cT6tX6oJH7ePPmfrBfqI/O\nOeH8gMJ+FuwtXYEPa4hBf38M5eU5xWG7\n-----END CERTIFICATE-----\n
$ request_body=$(< <(cat <<EOF
{
"hostname": "app.example.com",
"ssl": {
"custom_certificate": "$MYCERT",
"custom_key": "$MYKEY"
}
}
EOF
))POSTリクエスト で、証明書とキーをアップロードします。
証明書パックを使うと、カスタムホスト名に RSA と ECDSA のカスタム証明書をそれぞれ最大 1 枚までアップロードできます。この手順は現時点では API のみです。
カスタムホスト名に RSA と ECDSA の証明書をアップロードするには、API でカスタムホスト名を作成する ときに bundle_method を force に設定し、custom_cert_bundle プロパティを定義します。
Edit Custom Hostname エンドポイントへの PATCH リクエストでも、"bundle_method": "force" と custom_cert_bundle を使えます。
証明書パックからカスタム証明書と対応するキーを 1 組削除するには、Delete Single Certificate And Key For Custom Hostname エンドポイントを使います。
パック内に残っている証明書が 1 枚だけの場合、その証明書は削除できません。
2 枚がバンドルされた証明書パック内のカスタム証明書を 1 枚置き換えるには、Replace Custom Certificate And Custom Key In Custom Hostname エンドポイントを使います。
RSA 証明書は別の RSA 証明書にだけ、ECDSA 証明書は別の ECDSA 証明書にだけ置き換えられます。
カスタム証明書の維持をやめ、Cloudflare が発行する証明書へ切り替えたい場合は、ダウンタイムなしで移行できます。
カスタムホスト名へ、DCV の method を指定した PATCH リクエスト を送ります。証明書の検証 と ホスト名の検証 が完了すると、Cloudflare は古いカスタム証明書を外し、新しい証明書の配信を始めます。