You need to enable JavaScript to run this app.
导航
ImportCertificate - 上传证书
最近更新时间:2025.08.19 22:04:48首次发布时间:2024.11.13 19:44:18
复制全文
我的收藏
有用
有用
无用
无用

调用本接口将一本SSL证书上传到证书中心。

使用说明

  • 允许将使用以下密钥算法的证书上传到证书中心:RSA、ECC、SM2(国密)。
  • 要上传的证书必须有效(未过期且未被吊销)。
  • 最多允许上传500本证书。
  • 在上传证书时,证书文件和对应的私钥文件必须同时提供,不可单独提交。

请求说明

请求频率:同一个租户每秒最多允许请求20次。

调试

请求参数

下表仅列出该接口特有的请求参数和部分公共参数。更多信息请见公共参数

Query

参数
类型
是否必填
示例值
描述
Action
String

ImportCertificate

要执行的操作,取值:ImportCertificate。

Version
String

2024-10-01

API的版本,取值:2024-10-01。

Body

参数
类型
是否必填
示例值
描述
Tag
String

uploaded-cert

为证书实例添加备注。

ProjectName
String

default

证书实例所属的火山引擎项目名称。如果不设置该参数,证书实例会属于default项目。

项目是火山引擎提供的资源管理工具。您可以用项目给云资源分组,然后根据项目设置访问控制策略或查询账单。更多信息,可查看项目概述

Repeatable
Boolean

false

是否允许上传相同的证书。默认值:false
证书中心默认会检查您上传的证书是否和证书中心已有的证书相同(通过证书指纹来判断)。如果证书中心已经有相同的证书,新证书就不能上传,接口会返回相同证书的ID。

NoVerifyAndFixChain
Boolean

false

是否忽略证书完整性检查。默认值:false

  • 证书中心默认会对要上传的证书进行完整性检查,保证上传的证书能正常使用。

  • 建议使用默认设置,不要更改。忽略完整性检查可能会让您上传并使用存在安全风险的证书,影响您的线上业务。

  • 证书完整性检查的内容有:检查证书链是否完整、证书链上的每个证书是否由下一个证书签发、证书是否使用了不安全的摘要算法。

    • 如果证书链不完整,证书中心会自动补充完整后再上传;

    • 如果证书签发关系检查不通过、证书使用了不安全的算法,证书无法上传。

CertificateInfo
Object

用于上传 RSA 或 ECC 算法的证书(非国密证书)。

如果选择上传 RSA/ECC 证书,则 CertificateInfo 必填,GmCertificateInfo 不允许填写,并且需要在 CertificateInfo 中同时填写 CertificateChain 和 PrivateKey

GmCertificateInfo
Object

用于上传 SM2 算法的证书(国密证书)。

如果选择上传 SM2 证书,则 GmCertificateInfo 必填,CertificateInfo 不允许填写,并且需在 GmCertificateInfo 中提供完整的签名/加密证书与私钥对:SignCertificateChain + SignPrivateKeyEncryptCertificateChain + EncryptPrivateKey

Tags
Array of Object

为证书实例绑定的资源标签。

返回参数

下表仅列出本接口特有的返回参数。更多信息请参见返回结构

参数
类型
示例值
描述
InstanceId
String

cert-5fea76da5ec54e2999819ffc5aba****

证书实例ID。

只有当证书上传成功时,该参数才有值。

RepeatId
String

cert-5fea76da5ec54e2999819ffc5aba****

如果上传的证书和证书中心已有的证书相同,证书就不能上传,此时该参数会返回相同证书的实例ID。如果有多个相同证书,就返回创建时间最早的证书实例的ID。

如果请求参数 repeatabletrue,该参数会固定返回空值。

请求示例

POST /?Action=ImportCertificate&Version=2024-10-01 HTTP/1.1
Host: certificate-service.volcengineapi.com
Content-Type: application/json; charset=UTF-8
X-Date: 20241105T031307Z
X-Content-Sha256: 287e874e******d653b44d21e
Authorization: HMAC-SHA256 Credential=Adfks******wekfwe/20241105/cn-beijing/certificate_service/request, SignedHeaders=host;x-content-sha256;x-date, Signature=47a7d934ff7b37c03938******cd7b8278a40a1057690c401e92246a0e41085f

{
    "Tag": "uploaded-cert",
    "ProjectName": "default",
    "Repeatable": true,
    "NoVerifyAndFixChain": false,
    "CertificateInfo": {
        "CertificateChain": "-----BEGIN CERTIFICATE-----\n...\n-----END CERTIFICATE-----",
        "PrivateKey": "-----BEGIN RSA PRIVATE KEY-----\n......\n-----END RSA PRIVATE KEY-----"
    }
}

返回示例

{
    "ResponseMetadata": {
        "RequestId": "2024110511135900003918523121038B",
        "Action": "ImportCertificate",
        "Version": "2024-10-01",
        "Service": "certificate_service",
        "Region": "cn-beijing"
    },
    "Result": {
        "InstanceId": "cert-5fea76da5ec54e2999819ffc5aba****",
        "RepeatId": ""
    }
}

错误码

下表为您列举了该接口与业务逻辑相关的错误码。公共错误码请参见公共错误码文档。

状态码
错误码
错误信息
说明
400
SystemBusy

The system is busy. Please try again later.

系统繁忙,请稍后重试。

400
MalformedRequest

The request is malformed

请求参数格式不合法。

400
QuotaExceeded

%s has exceeded the quota. example: The memory size of the specified disk has exceeded the quota.

资源超出配额限制。

400
NotFound.Project

The specified project is not found

未找到指定的项目。

400
Expired.Certificate

Unable to do this operation because the certificate has expired.

不支持对过期证书进行操作。

400
Unsupported.PrivateKeyAlgorithm

The private key algorithm is not supported.

不支持的密钥算法。

400
Malformed.PrivateKey

Failed to decode private key.

私钥解析失败。

400
NotMatch.KeyPair

Failed to verify the public and private key.

公私钥不匹配。

400
NotMatch.KeyAlgorithm

The key algorithm is not matched with request

国密证书算法必须为SM2。

400
NotMatch.CertificateKeyUsage

The KeyUsage of the signature certificate chain and/or encryption certificate chain is illegal.

签名证书/加密证书的密钥用法字段不合法。

400
Malformed.Certificate

Failed to decode the certificate.

证书解析失败。

400
UnknownError.ObtainCertChain

Failed to obtain the certificate chain.

无法补全证书链。

500
InternalError

The request has failed due to an unknown error.

未知错误。