Skip to content

Commit 1bcfcb3

Browse files
deadlypants1973aw-cf
authored andcommitted
[CF1] signing cert clarification (cloudflare#22699)
* [CF1] signing cert clarification * signing cert clarification * more wording * Apply suggestions from code review Co-authored-by: Andreas <[email protected]> --------- Co-authored-by: Andreas <[email protected]>
1 parent 97e1926 commit 1bcfcb3

File tree

3 files changed

+15
-5
lines changed

3 files changed

+15
-5
lines changed

src/content/docs/cloudflare-one/connections/connect-devices/user-side-certificates/custom-certificate.mdx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -78,7 +78,7 @@ openssl x509 -in <CUSTOM-ROOT-CERT>.pem -text
7878

7979
<TabItem label="API">
8080

81-
1. <Render file="upload-mtls-cert" params={{ one: " " }} />
81+
1. <Render file="upload-mtls-cert" params={{ one: " ", cert: "root CA" }} />
8282

8383
2. Set the certificate as available for use in inspection with the [Activate a Zero Trust certificate endpoint](/api/resources/zero_trust/subresources/gateway/subresources/certificates/methods/activate/). This will deploy the certificate across the Cloudflare global network.
8484

src/content/docs/cloudflare-one/identity/devices/warp-client-checks/client-certificate.mdx

Lines changed: 13 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ sidebar:
77

88
import { Details, Render, TabItem, Tabs } from "~/components";
99

10-
The Client Certificate device posture attribute checks if the device has a valid certificate signed by a trusted certificate authority (CA). The posture check can be used in Gateway and Access policies to ensure that the user is connecting from a managed device.
10+
The Client Certificate device posture attribute checks if the device has a valid client certificate signed by a trusted certificate. The trusted certificate is uploaded to Cloudflare and specified as part of the posture check rule. The client certificate posture check can be used in Gateway and Access policies to ensure that the user is connecting from a managed device.
1111

1212
<Details header="Feature availability">
1313

@@ -30,6 +30,15 @@ The Client Certificate device posture attribute checks if the device has a valid
3030
## Prerequisites
3131

3232
- A CA that issues client certificates for your devices. WARP does not evaluate the certificate trust chain; this needs to be the issuing certificate.
33+
34+
:::note[Upload the signing certificate that issued the client certificate]
35+
36+
When uploading a certificate to use in posture checks, Cloudflare does not differentiate between root and intermediate certificates. You must upload the actual signing certificate – the one that directly signed the client certificate.
37+
38+
If you upload a different certificate, even if it exists higher up in the trust chain (for example, the root that issued the signing certificate), the posture check will fail.
39+
40+
:::
41+
3342
- Cloudflare WARP client is [deployed](/cloudflare-one/connections/connect-devices/warp/deployment/) on the device.
3443
- A client certificate is [installed and trusted](#configure-the-client-certificate-check) on the device.
3544

@@ -44,6 +53,7 @@ You can use the [Cloudflare PKI toolkit](/cloudflare-one/identity/devices/access
4453
file="upload-mtls-cert"
4554
params={{
4655
one: "The private key is only required if you are using this custom certificate for Gateway HTTPS inspection.",
56+
cert: "signing certificate",
4757
}}
4858
/>
4959

@@ -70,7 +80,7 @@ You can use the [Cloudflare PKI toolkit](/cloudflare-one/identity/devices/access
7080
private key must be in `PEM` format. They can either be in two different
7181
files or the same file.
7282
</Details>
73-
4. **Certificate ID**: Enter the UUID of the root CA.
83+
4. **Certificate ID**: Enter the UUID of the signing certificate.
7484
5. **Common name**: (Optional) To check for a specific common name on the client certificate, enter a string with optional `${serial_number}` and `${hostname}` variables (for example, `${serial_number}_mycompany`). WARP will search for an exact, case-insensitive match. If you do not specify a common name, WARP will ignore the common name field on the certificate.
7585
6. **Check for Extended Key Usage**: (Optional) Check whether the client certificate has one or more attributes set. Supported values are **Client authentication** (`1.3.6.1.5.5.7.3.2`) and/or **Email** (`1.3.6.1.5.5.7.3.4`).
7686
7. **Check for private key**: (Recommended) When enabled, WARP checks that the device has a private key associated with the client certificate.
@@ -183,4 +193,4 @@ Certificate:
183193

184194
</Tabs>
185195

186-
For the posture check to pass, a certificate must appear in the output that validates against the uploaded root CA.
196+
For the posture check to pass, a certificate must appear in the output that validates against the uploaded signing certificate.

src/content/partials/cloudflare-one/upload-mtls-cert.mdx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ inputParameters: param1
44

55
import { Markdown } from "~/components";
66

7-
Use the [Upload mTLS certificate endpoint](/api/resources/mtls_certificates/methods/create/) to upload the certificate and private key to Cloudflare. The certificate must be a root CA, formatted as a single string with `\n` replacing the line breaks. {props.one}
7+
Use the [Upload mTLS certificate endpoint](/api/resources/mtls_certificates/methods/create/) to upload the certificate and private key to Cloudflare. The certificate must be a {props.cert}, formatted as a single string with `\n` replacing the line breaks. {props.one}
88

99
```sh
1010
curl "https://api.cloudflare.com/client/v4/accounts/$ACCOUNT_ID/mtls_certificates" \

0 commit comments

Comments
 (0)