证书重交付接口
取多年期订单服务期内的下一次交付。
当用户购买的是 1 年 / 2 年,但 CA 每次只交付一张短周期证书(如 90 天)时, 服务期内需要交付多次。本次交付临近到期、服务期还有剩余时,调用此接口取下一次交付, 而不需要用户重新付费续费。
Certum、GlobalSign 品牌的产品不支持本接口,调用会被拒绝并返回
请使用 /api/v1/certificate/reissue 重签名以重新交付下一轮证书。
这两个品牌要求每次重签名都必须更换 CSR,而本接口按定义复用证书当前的 CSR,两者互斥。
请改用证书重签接口,在请求中自带一份新的 csr 重签名,
以交付下一期证书。
接口地址
POST /api/v1/certificate/redeliver
Host:
...
完整地址
/api/v1/certificate/redeliver
请求
Content-Type: application/json
Content-Length: 24
{
"service_id": "o91bZ" // 证书编号,必填,下单时候返回的 `service_id`
}
响应
- response(SSL.com / Keymatic)
- response(其他品牌)
- errors
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 970
{
"success": true,
"data": {
"hash_id": "o91bZ", // 证书编号,与请求传入的 service_id 一致
"dcv_need_verify": true, // 本次交付需要重新做域名验证,下面才会带 dcv
"dcv": { // 本次交付**重新生成**的域名验证信息,按域名索引,每个 SAN 一条(下例只展示一条)
"example.com": {
"domain": "example.com",
"type": "dns", // 验证方式沿用证书原有的选择:dns / http / https / email
"subdomain": "",
"topleveldomain": "example.com",
"status": "pending", // 重交付后一律回到 pending,需要重新验证
"ca_dcv_status": null, // CA 侧的验证状态原文,未回写时为 null
"validated_at": null,
"ca_dcv_raw": null,
"dns": {
"type": "TXT",
"hostname": "_dnsauth",
"fullname": "_dnsauth.example.com",
"value": "9f2c37e0a5d14b8fb0c6e1f7d2a48c3e5b6a0d9f4c7e1a3b5d8f0c2e4a6b8d0f"
},
"http": {
"filename": "fileauth.txt",
"filecontent": "9f2c37e0a5d14b8fb0c6e1f7d2a48c3e5b6a0d9f4c7e1a3b5d8f0c2e4a6b8d0f",
"filepath": "/.well-known/pki-validation/",
"filefullpath": "/.well-known/pki-validation/fileauth.txt",
"url": "http://example.com/.well-known/pki-validation/fileauth.txt"
},
"https": {
"filename": "fileauth.txt",
"filecontent": "9f2c37e0a5d14b8fb0c6e1f7d2a48c3e5b6a0d9f4c7e1a3b5d8f0c2e4a6b8d0f",
"filepath": "/.well-known/pki-validation/",
"filefullpath": "/.well-known/pki-validation/fileauth.txt",
"url": "https://example.com/.well-known/pki-validation/fileauth.txt"
}
}
}
}
}
dcv 就是下一步要用的新验证值仅 dcv_need_verify 为 true(SSL.com、Keymatic)时响应才带 dcv。
dcv.<域名>.type 指明该域名本次采用的验证方式,按它取对应那一块里的 value(dns)
或 filecontent(http / https)配置即可。非通配域名会把 dns / http / https
三块一并返回,只按 type 那一块操作,其余两块是备用的验证方式;
通配域名(*.)与 Certum 产品只返回其支持的那一块。
type 为 email 时没有值块可取,CA 会直接向该域名的验证邮箱发验证邮件。
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 67
{
"success": true,
"data": {
"hash_id": "o91bZ",
"dcv_need_verify": false // 品牌不是 SSL.com / Keymatic,本次交付沿用 CA 侧已有的域名验证记录
}
}
dcv_need_verify 为 false 时响应不含 dcv 字段,也不需要引导用户重新配置
DNS 解析或校验文件,等本次交付签发完成后直接下载部署即可。
HTTP/1.1 400 Bad Request
Content-Type: application/json
Content-Length: 88
{
"success": false,
"message": "当前证书没有可更新的交付次数(服务期已结束或本次交付已覆盖服务期)"
}
错误码
| HTTP 状态码 | message | 含义与处理建议 |
|---|---|---|
| 400 | 请使用 /api/v1/certificate/reissue 重签名以重新交付下一轮证书 | 证书所属产品要求重签名必须更换 CSR,而本接口按定义复用证书当前的 CSR,两者互斥。请改用证书重签接口并自带一份新的 csr |
| 400 | 当前证书没有可更新的交付次数(服务期已结束或本次交付已覆盖服务期) | 服务期已到期,或本次交付已经覆盖完整个服务期。此时应引导用户续费,而不是调用本接口 |
| 400 | 此账号已禁用重签名功能 | 当前工作空间被关闭了重签名能力,需联系平台开通 |
| 400 | 订单正处于人工跟进中,已锁定,暂不支持更新 | 订单被人工锁定(客服跟进中),暂不支持更新 |
| 400 | 证书正在提交中,请稍后再试 | 上一次提交尚未完成,请稍后重试 |
| 400 | 更新正在处理中,请稍后再试 | 60 秒内已有一次更新在飞,请等待后重试 |
| 400 | 更新失败,请联系客服 | 提交 CA 失败(或返回 CA 的原始错误信息) |
| 404 | The certificate is not found, or has been cancelled or refunded | 证书不存在,或不属于当前 API 密钥对应的工作空间 |
| 422 | The service ID is required | 未提供证书编号 service_id |
errors 明细参数校验失败(422)时,除了 message 外还会返回 errors 字段,标明是哪个参数不合法:
{
"success": false,
"message": "The service ID is required",
"errors": {
"service_id": ["The service ID is required"]
}
}
调用成功后,证书会被重置为待验证状态:
ca_status变为pendingissued_at置空- 已签发的证书内容(
cert.<keytype>.cert)被清空
这意味着旧证书不再可用,需要等待本次交付完成并重新下载证书后再部署。 请在业务侧做好提示,避免用户在等待期间误以为证书丢失。
dcv_need_verifySSL.com、Keymatic 品牌每次交付都要重新做一次域名验证,响应里
dcv_need_verify 为 true,并带上重新生成的 dcv:
- 验证方式(DNS 解析 / 文件 / 邮箱)沿用证书原有的选择,不会改变
- 但验证值会重新生成 —— DNS 记录值、文件内容都会变成新的一串, 调用前已经配好的域名解析记录或校验文件会失效
其余品牌 dcv_need_verify 为 false,CA 沿用已有的域名验证记录,
响应不带 dcv,用户侧无需任何操作。
按以下顺序处理:
- 调用本接口
dcv_need_verify为false→ 跳过验证环节,直接等本次交付签发完成dcv_need_verify为true→ 从响应dcv里取该域名type对应那一块的新值 (dns.value/http.filecontent/https.filecontent),提示用户重新配置 DNS 解析或上传校验文件- 调用检查 DCV 接口触发 CA 校验
响应里拿到 验证信息获取中... 占位符时,改用证书状态接口取真实值。
如果业务侧无法引导用户重新配置,请不要对 SSL.com、Keymatic 调用本接口,改用 证书重签接口(重签同样会重置 DCV,需一并评估)。
前置条件
调用前请确认以下条件全部满足,否则会被拒绝:
- 证书已签发(未签发的证书请走正常的 DCV 流程,不要用本接口)
- 订单存在且未被取消
- 服务期未过期
- 服务期晚于当前证书的到期时间(即服务期还有剩余,存在下一次交付)
- 证书所属产品没有「重签名必须更换 CSR」的限制(Certum、GlobalSign 品牌属于此类, 请改用证书重签接口)