Cloudflare は、Universal、アドバンスト、カスタムホスト名の証明書に対して HTTP Public Key Pinning(HPKP) をサポートしていません。
Cloudflare は、ドメイン向けにプロビジョニングしたエッジ証明書を定期的にローテーションします。HPKP を有効にしていると、証明書がローテーションするたびに新しい証明書がピン留めした鍵と一致せず、ドメインがオフラインになります。加えて、業界の専門家 ↗ も HPKP の利用を推奨していません。詳しい概要は、Cloudflare ブログの 証明書ピンニングが時代遅れである理由 ↗ を参照してください。
HPKP が解決しようとする問題は、証明書の誤発行の防止です。ダウンタイムのリスクなしに誤発行を検知するには、Certificate Transparency Monitoring を使います。ドメイン向けに証明書が発行されると通知されます。
ユースケースで証明書ピンニングが必要な場合、推奨できる方法は カスタム証明書 を Cloudflare にアップロードし、その証明書へピン留めすることだけです。証明書のライフサイクル(更新タイミング、CA の選択、鍵素材)を自分で管理できるため、ピンの継続性を保てます。ただしピンニングには障害リスクが残ります。更新で新しい鍵がデプロイされると、古い鍵にピン留めしたクライアントは TLS に失敗します。ピンの継続性が必要な場合は、更新時に同じ鍵素材を意図的に再利用する必要があります。更新した証明書は本番前に ステージング環境 でテストしてください。
配信する CA、中間証明書、リーフ証明書を正確に制御するには、user-defined バンドル方式 を選びます。