Cloudflare 目前 Free 计划提供四种证书,一种是 DigiCert 根,一种是 ISRG Root X1 根,一种是 Google Trust Services 根,一种是 Sectigo 根(仅作为备份,不能主动启用),在控制台使用应该是随机分配的,没办法指定.
如何使用
使用 PATCH 方法对 cloudflare 的 api 进行请求
curl -X PATCH "https://api.cloudflare.com/client/v4/zones/你的域名区域ID/ssl/universal/settings" \
-H "X-Auth-Email: 你的CF邮箱" \
-H "X-Auth-Key: 你的APIKEY" \
-H "Content-Type: application/json" \
--data '{"enabled":true,"certificate_authority":"digicert"}'
如上的 curl 访问是切换到 DigiCert 。
如果想换到 Let's Encrypt 则修改其中的 digicert 为 lets_encrypt
如果想换到 Google Trust Services 则修改其中的 digicert 为 google
如果想换到 Sectigo 则修改其中的 digicert 为 sectigo
(暂不能切换到 Sectigo 会返回 You do not have the entitlements to switch to sectigo)
返回
{"result":{"enabled":true,"certificate_authority":"digicert"},"success":true,"errors":[],"messages":[]}
就代表成功了,去控制台也可以看到新的证书了~
如果没有切换,表示原证书还可以使用,这时候开关一下就可以让 cf 刷新重新颁发证书把上面的”enabled”改为 false 提交一次,再改为 true 提交一次