Skip to content

Commit 1a7e084

Browse files
authored
[SSL] Update enforce-mtls.mdx
CUSTESC-56214
1 parent 9357d6a commit 1a7e084

File tree

1 file changed

+78
-0
lines changed
  • src/content/docs/cloudflare-for-platforms/cloudflare-for-saas/security/certificate-management

1 file changed

+78
-0
lines changed

src/content/docs/cloudflare-for-platforms/cloudflare-for-saas/security/certificate-management/enforce-mtls.mdx

Lines changed: 78 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -274,6 +274,84 @@ In the API documentation, refer to [SSL properties of a custom hostname](/api/re
274274

275275
</Details>
276276

277+
<Details header="Restrict cipher suites for custom hostname with custom certificate">
278+
279+
In the API documentation, refer to [SSL properties of a custom hostname](/api/resources/custom_hostnames/methods/edit/). In the case of a custom hostname with custom certificate, you must include the custom certificate in the [Edit Custom Hostname PATCH call](/api/resources/custom_hostnames/methods/edit/), with the `settings` specifications where you must include `type` and `method` within the `ssl` object, as explained below.
280+
281+
1. Make a `GET` request to the [Custom Hostname Details](/api/resources/custom_hostnames/methods/get/) endpoint to check what are the current values for `ssl.type` and `ssl.method`.
282+
283+
<APIRequest
284+
path="/zones/{zone_id}/custom_hostnames/{custom_hostname_id}"
285+
method="GET"
286+
/>
287+
288+
```json title="Response example" collapse={5-16, 21-40} ""method": "http"," ""type": "dv","
289+
"success": true,
290+
"result": {
291+
"id": "<CUSTOM_HOSTNAME_ID>",
292+
"ssl": {
293+
"id": "<CERTIFICATE_ID>",
294+
"bundle_method": "ubiquitous",
295+
"certificate_authority": "<CERTIFICATE_AUTHORITY>",
296+
"custom_certificate": "",
297+
"custom_csr_id": "",
298+
"custom_key": "",
299+
"expires_on": "",
300+
"hosts": [
301+
"app.example.com",
302+
"*.app.example.com"
303+
],
304+
"issuer": "",
305+
"method": "http",
306+
"settings": {},
307+
"signature": "SHA256WithRSA",
308+
"type": "dv",
309+
"uploaded_on": "2020-02-06T18:11:23.531995Z",
310+
"validation_errors": [
311+
{
312+
"message": "SERVFAIL looking up CAA for app.example.com"
313+
}
314+
],
315+
"validation_records": [
316+
{
317+
"emails": [
318+
319+
320+
],
321+
"http_body": "ca3-574923932a82475cb8592200f1a2a23d",
322+
"http_url": "http://app.example.com/.well-known/pki-validation/ca3-da12a1c25e7b48cf80408c6c1763b8a2.txt",
323+
"txt_name": "_acme-challenge.app.example.com",
324+
"txt_value": "810b7d5f01154524b961ba0cd578acc2"
325+
}
326+
],
327+
"wildcard": false
328+
},
329+
}
330+
```
331+
332+
2. After you take note of these values, make a `PATCH` request to the [Edit Custom Hostname](/api/resources/custom_hostnames/methods/edit/) endpoint, providing both the list of authorized cipher suites and the same `type` and `method` values that you obtained from the previous step, but also the `custom_certificate` and `custom_key`.
333+
334+
<APIRequest
335+
path="/zones/{zone_id}/custom_hostnames/{custom_hostname_id}"
336+
method="PATCH"
337+
json={{
338+
ssl: {
339+
method: "http",
340+
type: "dv",
341+
custom_certificate: <certificate_string>,
342+
custom_key: <certificate_private_key>,
343+
settings: {
344+
"ciphers": ["ECDHE-ECDSA-AES128-GCM-SHA256","ECDHE-RSA-AES128-GCM-SHA256"],
345+
"min_tls_version": "1.2"
346+
}
347+
}
348+
}}
349+
/>
350+
351+
</Details>
352+
353+
354+
277355
## Alerts for mutual TLS certificates
278356

279357
You can configure alerts to receive notifications before your mutual TLS certificates expire.

0 commit comments

Comments
 (0)