---
title: Client certificates · Cloudflare SSL/TLS docs
description: Use Cloudflare public key infrastructure (PKI) to create client certificates and enforce mutual Transport Layer Security (mTLS) encryption.
lastUpdated: 2024-08-13T19:56:56.000Z
source_url:
  html: https://a74404c8.preview.developers.cloudflare.com/ssl/client-certificates/index.md
  md: https://a74404c8.preview.developers.cloudflare.com/ssl/client-certificates/
---

Use Cloudflare public key infrastructure (PKI) to create client certificates. Use these certificates with Cloudflare [API Shield](https://developers.cloudflare.com/api-shield/) or [Cloudflare Workers](https://developers.cloudflare.com/workers/runtime-apis/bindings/mtls/) to enforce mutual Transport Layer Security (mTLS) encryption.

Warning

Since Cloudflare validates client certificates with one CA, set at account level, these certificates can be used for validation across multiple zones, as long as the zones are under the same account and mTLS has been enabled for the requested hosts. This means that (a) if you [bring your own CA](https://developers.cloudflare.com/ssl/client-certificates/byo-ca/), you can associate it with hosts in different zones and (b) if you use Cloudflare Managed CA, this is the default behavior.

## API Shield

To use API Shield to protect your API or web application, you must do the following:

1. Use Cloudflare’s fully hosted public key infrastructure (PKI) to [create a client certificate](https://developers.cloudflare.com/ssl/client-certificates/create-a-client-certificate/).

2. [Configure your mobile app or IoT device](https://developers.cloudflare.com/ssl/client-certificates/configure-your-mobile-app-or-iot-device/) to use your Cloudflare-issued client certificate.

3. [Enable mTLS](https://developers.cloudflare.com/ssl/client-certificates/enable-mtls/) for the hosts you wish to protect with API Shield.

4. Create WAF custom rules that [require API requests to present a valid client certificate](https://developers.cloudflare.com/api-shield/security/mtls/configure/).

Warning

By default, API Shield mTLS uses client certificates issued by a Cloudflare Managed CA. Cloudflare generates a unique CA for each account.

If you need to use certificates issued by another CA, you can use the API to [bring your own CA for mTLS](https://developers.cloudflare.com/ssl/client-certificates/byo-ca/).

## Workers

To authenticate Workers requests using mTLS:

1. Use Cloudflare’s fully hosted public key infrastructure (PKI) to [create a client certificate](https://developers.cloudflare.com/ssl/client-certificates/create-a-client-certificate/).
2. Create and use an [mTLS binding](https://developers.cloudflare.com/workers/runtime-apis/bindings/mtls/) to authenticate Workers connections.
