Zero Trust mTLS Posture Check

This is pretty simple but one can easily get confused. Let me explain.

Wiki 更新於 2026/4/27 下午3:47:50 作者:system

Zero Trust mTLS Posture Check

Cloudflare One Updated March 18, 2026

This is pretty simple but one can easily get confused. Let me explain.

  • The WARP client certificate check requires the ZT admin to upload the signing CA to Cloudflare. The endpoint to upload is - /accounts/{account_id}/mtls_certificates
  • That's where one can find it confusing. because theres a mtls option avaliable within ZT dashboard but totally different to the /accounts/{account_id}/mtls_certificatesendpoint.

image.png

image.png

  • Make sure necessary permissions are in place to upload the certificate.

image.png

  • Once the POST request is done, expect a response something like below with UUID info.

    image.png


  • Use the ID in the WARP client certificate check config.

image.png

  • If you're enabling the checkbox to check for private key, ensure the client certificate on macos is imported in p12 format.
  • Dashboard log

image.png



Another area that might cause confusion is Settings > Resources > Certificates. Even though you've already added your CA certificate via the mtls_certificates endpoint, you'll see the same certificate listed in the Zero Trust dashboard under Certificates — but marked as "inactive."

This is expected behavior, as the CA certificate doesn't include a private key. The key difference lies in the intended use cases:

- - The mtls_certificates endpoint is used solely for certificate validation. - The Zero Trust {....} > Certificates section is designed for scenarios like presenting block pages or performing deep packet inspection, which require both the certificate and its private key.

image.png