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后台出现新证书了

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