在火山引擎内容分发网络(CDN)中上传一本证书。该证书可以是服务器证书,也可以是 CA 证书。证书使用的密钥算法可以是 RSA、ECC 或 SM2。
节流限制:您每秒最多可以提交 20 个 API 请求。
参数名称 | 数据类型 | 是否必选 | 参数说明 |
---|---|---|---|
Action | String | 是 | 接口名称。当前 API 的名称为 AddCertificate 。 |
Version | String | 是 | 接口版本。当前 API 的版本为 2021-03-01 。 |
参数名称 | 数据类型 | 是否必选 | 参数说明 | 示例 |
---|---|---|---|---|
Certificate | String | 是 | 表示证书文件的内容。内容中的换行必须使用
| -----BEGIN CERTIFICATE-----\r\n......\r\n-----END CERTIFICATE-----\r\n-----BEGIN CERTIFICATE-----\r\n.......\r\n-----END CERTIFICATE----- |
PrivateKey | String | 是 | 表示证书私钥文件的内容。内容中的换行必须使用
|
对于使用 RSA 算法的证书私钥,示例中的 <XXX> 是 RSA。 对于使用 ECC 或 SM2 算法的证书私钥,示例中的 <XXX> 是 EC。 |
Desc | String | 否 | 表示该证书的备注。 | Note |
Source | String | 否 | 表示证书托管的位置。该参数有以下取值:
CertType 是 ca_cert 时,Source 必须是 cdn_cert_hosting 。 | volc_cert_center |
Repeatable | Boolean | 否 | 表示是否允许上传相同的证书。如果两个证书的指纹相同,这两个证书被认为是相同的证书。该参数有以下取值:
关于
| true |
CertType | String | 否 | 表示证书的类型。该参数有以下取值:
server_cert 。 | server_cert |
EncryType | String | 否 | 表示证书使用的密钥算法。该参数有以下取值:
inter_cert 。 | inner_cert |
EncryptionCert | String | 否 | 表示国密证书的证书文件的内容。内容中的换行必须使用 该参数仅当 说明 关于上传国密证书的示例,参见 示例 3。 | -----BEGIN CERTIFICATE-----\r\n......\r\n-----END CERTIFICATE-----\r\n-----BEGIN CERTIFICATE-----\r\n.......\r\n-----END CERTIFICATE----- |
EncryptionKey | String | 否 | 表示国密证书的私钥文件的内容。内容中的换行必须使用 CertType 是 server_cert ,并且 EncryType 是 sm_cert 时有效。 | ----BEGIN EC PRIVATE KEY-----\r\n.....\r\n-----END EC PRIVATE KEY----- |
参数名称 | 数据类型 | 参数说明 | 示例 |
---|---|---|---|
CertId | String | 表示上传后该证书在 Source 中的 ID。 | cert-17f1d965a11342eb80d9a0ecfef35713 |
该示例演示了如何上传一本使用 RSA 算法的服务器证书。上传后的证书是托管在火山引擎证书中心的。
POST https://cdn.volcengineapi.com/?Action=AddCertificate&Version=2021-03-01 { "Source": "volc_cert_center", "Certificate": "-----BEGIN CERTIFICATE-----\r\nMIGrhI\r\nmg==\r\n-----END CERTIFICATE-----\r\n-----BEGIN CERTIFICATE-----\r\nMIIE ==\r\n-----END CERTIFICATE-----\r\n-----BEGIN CERTIFICATE-----\r\nMIID \r\nMrY=\r\n-----END CERTIFICATE-----", "PrivateKey": "-----BEGIN RSA PRIVATE KEY-----\r\nMIIjQVx9Q==\r\n-----END RSA PRIVATE KEY-----", "Repeatable": false }
{ "ResponseMetadata": { "RequestId": "20240401215347C8101DF6B5EA14943C6E", "Action": "AddCertificate", "Version": "2021-03-01", "Service": "CDN", "Region": "cn-north-1" }, "Result": { "CertId": "cert-6538a3e999094a9eb2311c8c3c16b9eb" } }
在示例 1 的基础上,我们上传相同的证书。在上传证书时,指定 Repeatable
为 false
。请留意响应结果中的错误消息。
POST https://cdn.volcengineapi.com/?Action=AddCertificate&Version=2021-03-01 { "Source": "volc_cert_center", "Certificate": "-----BEGIN CERTIFICATE-----\r\nMIGrhI\r\nmg==\r\n-----END CERTIFICATE-----\r\n-----BEGIN CERTIFICATE-----\r\nMIIE ==\r\n-----END CERTIFICATE-----\r\n-----BEGIN CERTIFICATE-----\r\nMIID \r\nMrY=\r\n-----END CERTIFICATE-----", "PrivateKey": "-----BEGIN RSA PRIVATE KEY-----\r\nMIIjQVx9Q==\r\n-----END RSA PRIVATE KEY-----", "Repeatable": false }
错误消息提示待上传的证书已存在。同时,错误消息中还包含了现有证书的 ID。
{ "ResponseMetadata": { "RequestId": "20240401215849A247C098FE59A995A0D4", "Action": "AddCertificate", "Version": "2021-03-01", "Service": "CDN", "Region": "cn-north-1", "Error": { "Code": "InvalidParameter.Certificate.Duplicated", "Message": "证书已存在,ID为 cert-6538a3e999094a9eb2311c8c3c16b9eb。" } } }
该示例演示了如何上传一本使用 SM2 算法的服务器证书。上传后的证书是托管在火山引擎证书中心的。
POST https://cdn.volcengineapi.com/?Action=AddCertificate&Version=2021-03-01 { "Source": "volc_cert_center", "Certificate": "-----BEGIN CERTIFICATE-----\r\nMIGrhI\r\nmg==\r\n-----END CERTIFICATE-----\r\n-----BEGIN CERTIFICATE-----\r\nMIIE ==\r\n-----END CERTIFICATE-----\r\n-----BEGIN CERTIFICATE-----\r\nMIID \r\nMrY=\r\n-----END CERTIFICATE-----", "PrivateKey": "-----BEGIN EC PRIVATE KEY-----\r\nMIIjQVx9Q==\r\n-----END EC PRIVATE KEY-----", "EncryType": "sm_cert", "EncryptionCert":"-----BEGIN CERTIFICATE-----\r\nMIGrhI\r\nmg==\r\n-----END CERTIFICATE-----\r\n-----BEGIN CERTIFICATE-----\r\nMIIE ==\r\n-----END CERTIFICATE-----\r\n-----BEGIN CERTIFICATE-----\r\nMIID \r\nMrY=\r\n-----END CERTIFICATE-----", "EncryptionKey": "-----BEGIN EC PRIVATE KEY-----\r\nMIIjQVx9Q==\r\n-----END EC PRIVATE KEY-----", }
{ "ResponseMetadata": { "RequestId": "202406071719515F5CDC0CE9AEB8096C9F", "Action": "AddCertificate", "Version": "2021-03-01", "Service": "CDN", "Region": "cn-north-01" }, "Result": { "CertId": "cert-c5ba31f8ebfe499b8fabfb24707d71ab" } }
该示例演示了如何上传一本使用 RSA 算法的 CA 证书。上传后的证书托管在 CDN。
POST https://cdn.volcengineapi.com/?Action=AddCertificate&Version=2021-03-01 { "Source": "cdn_cert_hosting", "CertType": "ca_cert", "Certificate": "-----BEGIN CERTIFICATE-----\r\nMIGrhI\r\nmg==\r\n-----END CERTIFICATE-----" }
{ "ResponseMetadata": { "RequestId": "20240607175000C2A8B5333951500F2227", "Action": "AddCertificate", "Version": "2021-03-01", "Service": "CDN", "Region": "cn-north-01" }, "Result": { "CertId": "cert_hosting-33925" } }
如果响应正文的 ResponseMetadata
字段中包含 Error
字段,则表示 API 请求失败。更多关于错误码的信息,参见错误码。