1 前言

之前写过一篇 用api把cloudflare的证书换成自家一年的

https://qklg.net/post/20230628/

cf的一年的digicert已经没有了, 现在多了一种三个月的ssl.com的,
cf官方说兼容性极强,原文如下

SSL.com 兼容性高度强,被超过 99.9% 的浏览器、平板电脑和移动设备所接受。
SSL.com 证书与 Certum ↗交叉签名,并且对中间体↗进行交叉签名的 CA来自 2004 年。

https://developers.cloudflare.com/ssl/reference/certificate-authorities/

https://developers.cloudflare.com/api/resources/acm/subresources/total_tls/methods/get/

2 切换办法

三种证书都可以切换,用小鸡上curl就可以了

切换成ssl.com的

curl -sX PATCH "https://api.cloudflare.com/client/v4/zones/你的域名区域id/ssl/universal/settings" -H "X-Auth-Email:你的邮箱" -H "X-Auth-Key:你的global api key" -H "Content-Type: application/json" --data "{\"certificate_authority\":\"ssl_com\"}"

切换成谷歌的

curl -sX PATCH "https://api.cloudflare.com/client/v4/zones/你的域名区域id/ssl/universal/settings" -H "X-Auth-Email:你的邮箱" -H "X-Auth-Key:你的global api key" -H "Content-Type: application/json" --data "{\"certificate_authority\":\"google\"}"

切换成let's的

curl -sX PATCH "https://api.cloudflare.com/client/v4/zones/你的域名区域id/ssl/universal/settings" -H "X-Auth-Email:你的邮箱" -H "X-Auth-Key:你的global api key" -H "Content-Type: application/json" --data "{\"certificate_authority\":\"lets_encrypt\"}"

3 参数替换

参数的话,三个需要替换下

你的域名区域id

打开你的域名,域名 右下角有个区域id,复制粘贴下就ok了

邮箱

就是你cf的邮箱,不知道的话打开 https://dash.cloudflare.com/profile 看下就知道了

你的global api key

https://dash.cloudflare.com/profile/api-tokens

点击查看,就有了

4 效果

curl打完之后,出现如下就是成功了

{"result":{"enabled":true,"certificate_authority":"ssl_com"},"success":true,"errors":[],"messages"

cf后台出现新证书了

域名也可以看到是新证书了