Skip to content

Commit c039040

Browse files
[CF4SaaS] Add RSA and ECDSA cert bundling on custom hostnames (#19796)
* Updated to reflect RSA and ECDSA cert bundling on custom hostnames * Update uploading-certificates.mdx * Remove remaining warning at the top of uploading-certificates * Updated to clarify POST/PATCH calls, "custom key" versus "private key", and certificate packs rather than "bundling" * Text and formatting adjustments * Take the chance to review previous content * Make headings shorter and add specific text to API hyperlinks * Add missing monospace and call out API-only * Add page description and mention bundle_method should be force --------- Co-authored-by: Rebecca Tamachiro <[email protected]>
1 parent 8cd9767 commit c039040

File tree

2 files changed

+40
-18
lines changed

2 files changed

+40
-18
lines changed

src/content/docs/cloudflare-for-platforms/cloudflare-for-saas/security/certificate-management/custom-certificates/index.mdx

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,4 @@ Cloudflare also only accepts publicly trusted certificates of these types:
2828
* `SHA1WithRSA`
2929
* `ECDSAWithSHA256`
3030

31-
You can only use one of the different supported types. For example, you cannot upload an `SHA256WithRSA` + `ECDSAWithSHA256` certificate.
32-
3331
If you attempt to upload another type of certificate or a certificate that has been self-signed, it will be rejected.
Lines changed: 40 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,38 +1,40 @@
11
---
22
title: Manage custom certificates
33
pcx_content_type: how-to
4+
description: Learn how to manage custom certificates for your Cloudflare for SaaS custom hostnames.
45
sidebar:
56
order: 6
67
head:
78
- tag: title
8-
content: Manage custom certificates — Cloudflare for SaaS
9+
content: Manage custom certificates
910

1011
---
1112

12-
import { Render } from "~/components"
13+
import { Render, TabItem, Tabs } from "~/components"
1314

14-
For use cases and limitations, refer to [custom certificates](/cloudflare-for-platforms/cloudflare-for-saas/security/certificate-management/custom-certificates/).
15+
Learn how to manage custom certificates for your Cloudflare for SaaS custom hostnames. For use cases and limitations, refer to [custom certificates](/cloudflare-for-platforms/cloudflare-for-saas/security/certificate-management/custom-certificates/).
1516

16-
:::caution
17+
## Upload certificates
1718

18-
You can only use one of the different [supported types](/cloudflare-for-platforms/cloudflare-for-saas/security/certificate-management/custom-certificates/#limitations). For example, you cannot upload an `SHA256WithRSA` + `ECDSAWithSHA256` certificate.
19-
:::
19+
This section describes the general process for uploading a custom certificate corresponding to one of the [supported types](/cloudflare-for-platforms/cloudflare-for-saas/security/certificate-management/custom-certificates/#limitations).
2020

21-
## Upload certificates
21+
:::note
22+
If you must support both RSA and ECDSA refer to [certificate packs](#use-certificate-packs-rsa-and-ecdsa) below.
23+
:::
2224

23-
### With the dashboard
25+
<Tabs syncKey="dashPlusAPI"> <TabItem label="Dashboard">
2426

25-
To upload a custom certificate in the dashboard, follow the steps for [issuing new certificates](/cloudflare-for-platforms/cloudflare-for-saas/security/certificate-management/issue-and-validate/issue-certificates/), but change the **Certificate type** to **Custom certificate**.
27+
To upload a custom certificate in the dashboard, select **Custom certificate** while [creating your custom hostname](/cloudflare-for-platforms/cloudflare-for-saas/domain-support/create-custom-hostnames/).
2628

27-
For more details on bundle method, refer to [Bundle Methodologies](/ssl/edge-certificates/custom-certificates/bundling-methodologies/)
29+
For information about the **bundle method** options, refer to the [Cloudflare SSL/TLS documentation](/ssl/edge-certificates/custom-certificates/bundling-methodologies/).
2830

29-
### With the API
31+
</TabItem> <TabItem label="API">
3032

3133
The call below will upload a certificate for use with `app.example.com`.
3234

3335
Note that if you are using an ECC key generated by OpenSSL, you will need to first remove the `-----BEGIN EC PARAMETERS-----...-----END EC PARAMETERS-----` section of the file.
3436

35-
#### 1. Update the file and build the payload
37+
1. Update the file and build the payload
3638

3739
<Render file="custom-cert-file-example" product="ssl" />
3840

@@ -52,16 +54,38 @@ EOF
5254
))
5355
```
5456

55-
#### 2. Upload your certificate and key
56-
57-
Use a [POST request](/api/resources/custom_hostnames/methods/create/) to upload your certificate and key.
57+
2. Use a [`POST` request](/api/resources/custom_hostnames/methods/create/) to upload your certificate and key.
5858

59+
:::note
5960
The serial number returned is unique to the issuer, but not globally unique. Additionally, it is returned as a string, not an integer.
61+
:::
62+
63+
</TabItem> </Tabs>
64+
65+
## Use certificate packs: RSA and ECDSA
66+
67+
A certificate pack allows you to upload up to one RSA and one ECDSA custom certificates to a custom hostname. This process is currently only supported via API.
68+
69+
To upload an RSA and ECDSA certificate to a custom hostname, set the `bundle_method` to `force` and define the `custom_cert_bundle` property when [creating a custom hostname via API](/api/resources/custom_hostnames/methods/create/).
70+
71+
You can also use `"bundle_method": "force"` and `custom_cert_bundle` with a `PATCH` request to the [Edit Custom Hostname](/api/resources/custom_hostnames/methods/edit/) endpoint.
72+
73+
### Delete a custom certificate and private key
74+
75+
Use the [Delete Single Certificate And Key For Custom Hostname](/api/resources/custom_hostnames/subresources/certificate_pack/subresources/certificates/methods/delete/) endpoint to remove one of the custom certificates and corresponding key from a certificate pack.
76+
77+
You cannot delete a certificate if it is the only remaining certificate in the pack.
78+
79+
### Replace a custom certificate and private key
80+
81+
To replace a single custom certificate within a certificate pack that contains two bundled certificates, use the [Replace Custom Certificate And Custom Key In Custom Hostname](/api/resources/custom_hostnames/subresources/certificate_pack/subresources/certificates/methods/update/) endpoint.
82+
83+
You can only replace an RSA certificate with another RSA certificate, or an ECDSA certificate with another ECDSA certificate.
6084

6185
***
6286

6387
## Move to a Cloudflare certificate
6488

6589
If you want to switch from maintaining a custom certificate to using one issued by Cloudflare, you can migrate that certificate with zero downtime.
6690

67-
Send a [PATCH request](/api/resources/custom_hostnames/methods/edit/) to your custom hostname with a value for the DCV `method`. As soon as the [certificate is validated](/cloudflare-for-platforms/cloudflare-for-saas/security/certificate-management/issue-and-validate/) and the [hostname is validated](/cloudflare-for-platforms/cloudflare-for-saas/domain-support/hostname-validation/), Cloudflare will remove the old custom certificate and begin serving the new one.
91+
Send a [`PATCH` request](/api/resources/custom_hostnames/methods/edit/) to your custom hostname with a value for the DCV `method`. As soon as the [certificate is validated](/cloudflare-for-platforms/cloudflare-for-saas/security/certificate-management/issue-and-validate/) and the [hostname is validated](/cloudflare-for-platforms/cloudflare-for-saas/domain-support/hostname-validation/), Cloudflare will remove the old custom certificate and begin serving the new one.

0 commit comments

Comments
 (0)