コンテンツにスキップ

カスタム証明書の管理

使用例と制限については、カスタム証明書を参照してください。

証明書のアップロード

ダッシュボードを使用して

ダッシュボードでカスタム証明書をアップロードするには、新しい証明書の発行の手順に従い、証明書の種類カスタム証明書に変更します。

バンドル方法の詳細については、バンドル方法論を参照してください。

APIを使用して

以下の呼び出しは、app.example.comで使用するための証明書をアップロードします。

OpenSSLによって生成されたECCキーを使用している場合は、最初にファイルの-----BEGIN EC PARAMETERS-----...-----END EC PARAMETERS-----セクションを削除する必要があります。

ステップ1 — ファイルを更新し、ペイロードを構築する

Terminal window
cat app_example_com.pem
-----BEGIN CERTIFICATE-----
MIIFJDCCBAygAwIBAgIQD0ifmj/Yi5NP/2gdUySbfzANBgkqhkiG9w0BAQsFADBN
MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMScwJQYDVQQDEx5E
...
SzSHfXp5lnu/3V08I72q1QNzOCgY1XeL4GKVcj4or6cT6tX6oJH7ePPmfrBfqI/O
OeH8gMJ+FuwtXYEPa4hBf38M5eU5xWG7
-----END CERTIFICATE-----
Terminal window
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/..$//')"

With the certificate and key saved to environment variables (using escaped newlines), build the payload:

Terminal window
$ 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
))

ステップ2 — 証明書とキーをアップロードする

POSTリクエストを使用して、証明書とキーをアップロードします。

返されるシリアル番号は発行者に固有ですが、グローバルにユニークではありません。さらに、整数ではなく文字列として返されます。


Cloudflare証明書に移行する

カスタム証明書の管理からCloudflareが発行した証明書の使用に切り替えたい場合は、ダウンタイムなしでその証明書を移行できます。

DCV methodの値を持つPATCHリクエストをカスタムホスト名に送信します。証明書が検証されるとホスト名が検証されると、Cloudflareは古いカスタム証明書を削除し、新しい証明書の提供を開始します。