增加&修改域名证书
更新时间:
接口
如果domain已经绑定了一个证书id,则该接口为修改(将用户新上传的证书替换掉证书库中的老证书,且给domain绑定新证书的id)。 如果domain之前没有绑定证书,则该接口为上传新证书且将新的证书id绑到domain上。
method | path | 说明 |
---|---|---|
PUT | /v2/{domain}/certificates | 增加or修改domain绑定的certificate |
url参数
参数 | 可选 | 类型 | 说明 |
---|---|---|---|
domain | 必选 | string | 关联目标证书的域名 |
请求体
参数 | 可选 | 类型 | 说明 |
---|---|---|---|
httpsEnable | 必选 | string | 只能取值"ON"或者"OFF",表是否开启domain的https支持,“ON”开启,“OFF”关闭 |
certificate | 必选 | certificate | 证书内容 |
certificate参数说明
参数 | 可选 | 类型 | 说明 |
---|---|---|---|
certName | String | 必须 | 证书的名称。长度限制为1-65个字符,以字母开头,只允许包含字母、数字、’-‘、’/’、’.’、’_’、’*’,Java正则表达式 ^[a-zA-Z][a-zA-Z0-9\-/_\.\*]{0,64}$ |
certServerData | String | 必须 | 服务器证书的数据内容 (Base64编码) |
certPrivateData | String | 必须 | 证书的私钥数据内容 (Base64编码) |
certLinkData | String | 可选 | 证书链数据内容 (Base64编码) |
certType | Integer | 可选 | 证书类型,1:服务端证书(默认) |
响应体
参数 | 可选 | 类型 | 说明 |
---|---|---|---|
certId | 必选 | string | 证书入库后的certId |
使用该接口时注意4种500的情况,根据返回的code字段
- “unbind old certificate failed”,此时该domain和操作前的状态是一样的(旧的证书没有解绑,没有删除,新的证书也没有入证书库)
- "delete old certificate failed",此时该domain和旧的证书解绑了,但是旧的证书还在证书库中,没有删除,新的证书也没有入库
- "add new certificate failed",此时该domain和旧的证书解绑了,旧的证书也已经从证书库中删除,但是新的证书没有入库。当前该domain没有绑定任何证书
- "bind new certificate failed",此时该domain和旧的证书解绑了,旧的证书也已经从证书库中删除了,新的证书也已经入库,但是新证书和domain绑定失败了。当前该domain没有绑定任何证书
请求示例
PUT /v2/www.example.com/certificates
{
"httpsEnable": "OFF",
"certificate": {
"certName": "test",
"certServerData": "-----BEGIN CERTIFICATE----END CERTIFICATE-----",
"certPrivateData": "-----BEGIN RSA PRIVATE KEY----END RSA PRIVATE KEY-----"
}
}
响应示例
HTTP/1.1 100 Continue
HTTP/1.1 200 OK
Server: nginx
Date: Wed, 28 Aug 2019 08:10:51 GMT
Content-Type: application/json; charset=utf-8
Transfer-Encoding: chunked
Connection: keep-alive
X-Powered-By: PHP/7.1.5
x-bce-request-id: aa1f2344-711b-8332-3d2e-2849fd123e75
{"certId":"xxx"}