Cloudflare 切换边缘证书颁发机构

Cloudflare 在 Free Plan 中目前支持四种边缘证书颁发机构 (CA)

  • Let’s Encrypt
  • Google Trust Services
  • SSL.com
  • Sectigo (仅作为备用, 无法手动指定)

这些证书在控制台内是随机分配的, 无法主动选择证书颁发机构。

不过, 在查阅 Cloudflare API 文档并进行实际测试后, 发现有一个文档中未明确提及但可用的参数 certificate_authority 通过该参数, 可以成功切换 Cloudflare 边缘证书的颁发机构。

为啥要更换证书提供者

主要原因是 Let’s Encrypt 在 2025 年关闭 OCSP 验证服务 Ending OCSP Support in 2025

对于依赖 OCSP Stapling 或对证书吊销检查较为敏感的客户端环境, 更换证书颁发机构是一个更稳妥的选择。

切换边缘证书

前期准备

在操作前, 需要准备以下信息:

  • Cloudflare Zone ID
  • Cloudflare 账户邮箱
  • Cloudflare Global API Key

Zone ID 获取方法

进入 Cloudflare 控制台, 打开对应域名, 在页面右下角可以看到 Zone ID, 复制即可。

Cloudflare Zone ID

Cloudflare 账户邮箱

就是你登录 Cloudflare 所使用的邮箱地址。如不确定, 可访问以下页面查看

Cloudflare 账户邮箱

Global API Key 获取

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

在 API 密钥区域中查看并获取 Global API Key

Global API Key

证书颁发机构标识说明

在 API 中, 不同证书颁发机构使用以下标识

证书颁发机构 API 标识 备注说明
DigiCert digicert 已过期失效
Let’s Encrypt lets_encrypt
Google Trust Services google
SSL.com ssl_com
Sectigo sectigo 仅作为备用证书, 不支持手动切换

切换方法

通过 Cloudflare API, 对 Universal SSL 设置发起 PATCH 请求即可。

# Zone ID (区域 ID)
ZONEID=''
# Cloudflare 登录邮箱
EMAIL=''
# Global API Key
APIKEY=''
# 证书颁发机构标识
CERTCODE='ssl_com'

curl -X PATCH "https://api.cloudflare.com/client/v4/zones/${ZONEID}/ssl/universal/settings" \
     -H "X-Auth-Email: ${EMAIL}" \
     -H "X-Auth-Key: ${APIKEY}" \
     -H "Content-Type: application/json" \
     --data "{\"enabled\":true,\"certificate_authority\":\"${CERTCODE}\"}"

     # 示例 (直接写死证书提供者)
     # --data '{"enabled":true,"certificate_authority":"digicert"}'

将其中的变量替换为你自己的实际值即可。

如果请求成功, 会返回类似如下的 JSON 数据

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

接口返回成功后, Cloudflare 会自动重新签发并部署新的边缘证书。

生效说明

此时进入 Cloudflare 控制台的 SSL/TLS -> Edge Certificates 页面, 也可以看到新的证书已经生效。

Cloudflare 边缘证书

注意事项

如果发现证书颁发机构没有发生变化, 通常表示当前证书仍在有效期内, Cloudflare 不会立即重新签发。

此时可以通过关闭并重新开启 Universal SSL 来强制刷新证书。

操作方法如下:

  1. enabled 设置为 false, 提交一次请求
  2. 等待约 2 分钟
  3. 再将 enabled 设置为 true, 提交一次请求

这样可以触发 Cloudflare 重新签发边缘证书。


原文

How to get a .ip6.arpa TLS certificate for $0
用api切换cf的证书
Cloudflare使用api更换证书颁发机构
Cloudflare切换SSL证书颁发者

最后更新于 2025-12-27