云证书管理服务
| 产品详情
  • 私有CA管理
    • 创建CACreateCertificateAuthority
    • 删除CADeleteCertificateAuthority
    • 禁用CADisableCertificateAuthority
    • 启用CAEnableCertificateAuthority
    • 导出CA证书ExportCertificateAuthorityCertificate
    • 导出CA的证书签名请求(CSR)ExportCertificateAuthorityCsr
    • 导入CA证书ImportCertificateAuthorityCertificate
    • 激活CAIssueCertificateAuthorityCertificate
    • 查询CA列表ListCertificateAuthority
    • 恢复CARestoreCertificateAuthority
    • 吊销CARevokeCertificateAuthority
    • 查询CA详情ShowCertificateAuthority
    • 查询CA配额ShowCertificateAuthorityQuota
  • 私有证书管理
    • 申请证书CreateCertificate
    • 通过CSR签发证书CreateCertificateByCsr
    • 删除证书DeleteCertificate
    • 导出证书ExportCertificate
    • 查询私有证书列表ListCertificate
    • 解析CSRParseCertificateSigningRequest
    • 吊销证书RevokeCertificate
    • 查询证书详情ShowCertificate
    • 查询私有证书配额ShowCertificateQuota
  • 证书吊销处理
    • 创建委托CreateCertificateAuthorityObsAgency
    • 禁用CRLDisableCertificateAuthorityCrl
    • 启用CRLEnableCertificateAuthorityCrl
    • 查询OBS桶列表ListCertificateAuthorityObsBucket
    • 查看是否具有委托权限ShowCertificateAuthorityObsAgency
  • 标签管理
    • 批量创建CA标签BatchCreateCaTags
    • 批量创建证书标签BatchCreateCertTags
    • 批量删除CA标签BatchDeleteCaTags
    • 批量删除证书标签BatchDeleteCertTags
    • 根据标签查询CA数量CountCaResourceInstances
    • 根据标签查询证书数量CountCertResourceInstances
    • 创建CA标签CreateCaTag
    • 创建证书标签CreateCertTag
    • 根据标签查询CA列表ListCaResourceInstances
    • 根据CA查询标签列表ListCaTags
    • 根据标签查询证书列表ListCertResourceInstances
    • 根据证书查询标签列表ListCertTags
    • 查询所有CA标签列表ListDomainCaTags
    • 查询所有证书标签列表ListDomainCertTags
  • 订单管理
    • 购买CACreateCertificateAuthorityOrder

CreateCertificateAuthority

创建CA

POST
https://ccm.ap-southeast-3.myhuaweicloud.com/v1/private-certificate-authorities
高级设置
只看必填项
填写默认值
密文显示特定参数
*
Region
Headers
*
Authorization
Body
*{
*
type
:
*
distinguished_name
: {
*
common_name
:
*
country
:
*
state
:
*
locality
:
*
organization
:
*
organizational_unit
:
*}
*
key_algorithm
:
*
validity
: {
*
type
:
*
value
:
*
start_from
:
*}
*
issuer_id
:
*
path_length
:
*
signature_algorithm
:
*
key_usages
: [
+Add
*]
*
crl_configuration
: {
*
enabled
:
*
crl_name
:
*
obs_bucket_name
:
*
valid_days
:
*}
*
enterprise_project_id
:
*
ca_id
:
}

功能介绍

创建CA,分以下三种情况:

  • 创建根CA,根据参数介绍中,填写必选值;
  • 创建从属CA,并需要直接激活该证书,根据参数介绍中,填写必选值;
  • 创建从属CA,不需要直接激活该证书,请求body中只需要缺少此三个参数之一即可:issuer_id、signature_algorithm、validity。

调试

您可以在API Explorer中调试该接口,支持自动认证鉴权。API Explorer可以自动生成SDK代码示例,并提供SDK代码示例调试功能。

URI

POST /v1/private-certificate-authorities

请求参数

表1 请求Header参数

参数

是否必选

参数类型

描述

X-Auth-Token

String

用户Token。 通过调用IAM服务获取用户Token接口获取(响应消息头中X-Subject-Token的值)。

最小长度:32

最大长度:2097152

表2 请求Body参数

参数

是否必选

参数类型

描述

type

String

创建的CA类型。

  • ROOT : 根CA
  • SUBORDINATE : 从属CA

distinguished_name

DistinguishedName object

证书名称配置,详情请参见DistinguishedName字段数据结构说明。

key_algorithm

String

密钥算法,可选值如下:

  • RSA2048 : RSA算法,密钥长度2048位;
  • RSA4096 : RSA算法,密钥长度4096位;
  • EC256 : 椭圆曲线算法(Elliptic Curve Digital Signature Algorithm (ECDSA)),密钥长度256位;
  • EC384 : 椭圆曲线算法(Elliptic Curve Digital Signature Algorithm (ECDSA)),密钥长度384位;
  • SM2 : 国家密码管理局颁发的椭圆曲线算法(签名哈希算法SM3),密钥长度256位。

validity

Validity object

证书有效期,分以下三种情况:

  • 创建根CA,为必填值;
  • 创建从属CA,并需要直接激活该证书,为必填值;
  • 创建从属CA,不需要直接激活该证书,本参数值将被忽略,激活证书时需要再次传入。
说明:

详情请参见Validity字段数据结构说明。

hsm_cluster_info

HsmClusterInfo object

加密机集群信息:

  • 白名单内用户才可以选择此方式对ca进行加密
说明:

详情请参见HsmClusterInfo字段数据结构说明。

issuer_id

String

父CA证书ID,分以下三种情况:

  • 创建根CA,根CA为自签名证书,无父CA,将忽略该参数;
  • 创建从属CA,并需要直接激活该证书,为必填值;
  • 创建从属CA,不需要直接激活该证书,本参数值将被忽略,激活证书时需要再次传入。

最小长度:36

最大长度:36

path_length

Integer

CA证书路径长度,分以下三种情况:

  • 创建根CA,为便于后期对证书层级的扩展,根CA默认不对路径长度做限制,故将忽略该参数。证书层级规划可由从属CA做限制;
  • 创建从属CA,并需要直接激活该证书,用户可自定义。缺省值为0;
  • 创建从属CA,不需要直接激活该证书,本参数值将被忽略。激活证书时若要自定义,需要再次传入;

最小值:0

最大值:6

signature_algorithm

String

签名哈希算法。

  • 分以下三种情况:
    • 创建根CA,为必填值;
    • 创建从属CA,并需要直接激活该证书,为必填值;
    • 创建从属CA,不需要直接激活该证书,本参数值将被忽略,激活证书时需要再次传入。
  • 可选值如下:
    • SHA256
    • SHA384
    • SHA512
    • SM3

key_usages

Array of strings

密钥用法,具体标准参见RFC 5280中:4.2.1.3节

  • digitalSignature : 数字签名;
  • nonRepudiation : 不可抵赖;
  • keyEncipherment : 密钥用于加密密钥数据;
  • dataEncipherment : 用于加密数据;
  • keyAgreement : 密钥协商;
  • keyCertSign : 签发证书;
  • cRLSign : 签发吊销列表;
  • encipherOnly : 仅用于加密;
  • decipherOnly : 仅用于解密。
说明:

缺省值如下:

  • 根CA证书:默认为**[digitalSignature,keyCertSign,cRLSign]**,忽略用户传入值;
  • 从属CA证书:默认为**[digitalSignature,keyCertSign,cRLSign]**,支持用户自定义。

crl_configuration

CrlConfiguration object

证书CRL配置,详情请参见CrlConfiguration字段数据结构说明。

enterprise_project_id

String

企业多项目ID。用户未开通企业多项目时,不需要输入该字段。 用户开通企业多项目时,查询资源可以输入该字段。 若用户不输入该字段,默认查询租户所有有权限的企业多项目下的资源。 此时“enterprise_project_id”取值为“all”。 若用户输入该字段,取值满足以下任一条件. 取值为“all” 取值为“0” 满足正则匹配:“^[0-9a-z]{8}-[0-9a-z]{4}-[0-9a-z]{4}-[0-9a-z]{4}-[0-9a-z]{12}$”

ca_id

String

CA证书ID。如果为空,则创建按需CA;如果不为空,则保存包周期CA信息。

最小长度:36

最大长度:36

表3 DistinguishedName

参数

是否必选

参数类型

描述

common_name

String

证书通用名称(CN),名称只能由"-"、"_"、" "、"."、","、"*"、字母、数字、汉字组成,长度不能超过64位字符。

最小长度:1

最大长度:64

country

String

国家编码,只能由英文组成,长度为2位字符。

最小长度:2

最大长度:2

state

String

省市名称,名称只能由"-"、"_"、" "、"."、","、字母、数字、汉字组成,长度不能超过128位字符。

最小长度:1

最大长度:128

locality

String

地区名称,名称只能由"-"、"_"、" "、"."、","、字母、数字、汉字组成,长度不能超过128位字符。

最小长度:1

最大长度:128

organization

String

组织名称,名称只能由"-"、"_"、" "、"."、","、字母、数字、汉字组成,长度不能超过64位字符。

最小长度:1

最大长度:64

organizational_unit

String

组织单元名称,名称只能由"-"、"_"、" "、"."、","、字母、数字、汉字组成,长度不能超过64位字符。

最小长度:1

最大长度:64

表4 Validity

参数

是否必选

参数类型

描述

type

String

有效期类型,为必填值:

  • YEAR : 年(12个月)
  • MONTH : 月(统一按31天)
  • DAY : 日
  • HOUR : 小时

value

Integer

证书有效期值,与type对应的类型值,换算成年需满足以下规则:

  • 根CA,有效期小于等于30年;
  • 从属CA与私有证书,有效期小于等于20年。

start_from

Integer

起始时间,为可选值:

  • 格式为时间戳(毫秒级),如1645146939688代表2022-02-18 09:15:39;
  • 不早于当前时间5分钟,即start_from > (current_time - 5min)。
表5 HsmClusterInfo

参数

是否必选

参数类型

描述

hsm_project

String

项目信息:

  • 比如 cn-xxxx-7

hsm_cluster_id

String

加密机集群标识符

  • 比如 54d8301b-b859-4c55-a628-21fcf90e609e

hsm_ca_cert

String

pem格式证书base64之后的字符串

  • MXXXXX
表6 CrlConfiguration

参数

是否必选

参数类型

描述

enabled

Boolean

是否启用CRL发布功能。

  • true
  • false

crl_name

String

吊销列表文件名称。

说明:

若用户不指定,系统将默认采用当前证书的父CA ID。

obs_bucket_name

String

OBS桶名称。

说明:

当需要启用CRL发布功能:

  • 此参数为必填项,且用户必须已创建委托授权,授予PCA服务对OBS的相关权限,具体参见本文档:证书吊销处理>查看是否具有委托权限证书吊销处理>创建委托
  • 指定的OBS桶必须存在,否则将报错。

valid_days

Integer

CRL更新周期,单位为"天"。当启用CRL发布功能,为必填项。

最小值:7

最大值:30

响应参数

状态码: 200

表7 响应Body参数

参数

参数类型

描述

ca_id

String

当前签发的CA证书ID。

最小长度:36

最大长度:36

状态码: 400

表8 响应Body参数

参数

参数类型

描述

error_code

String

错误请求返回的错误码。

最小长度:3

最大长度:36

error_msg

String

错误请求返回的错误信息。

最小长度:0

最大长度:1024

状态码: 401

表9 响应Body参数

参数

参数类型

描述

error_code

String

错误请求返回的错误码。

最小长度:3

最大长度:36

error_msg

String

错误请求返回的错误信息。

最小长度:0

最大长度:1024

状态码: 403

表10 响应Body参数

参数

参数类型

描述

error_code

String

错误请求返回的错误码。

最小长度:3

最大长度:36

error_msg

String

错误请求返回的错误信息。

最小长度:0

最大长度:1024

状态码: 404

表11 响应Body参数

参数

参数类型

描述

error_code

String

错误请求返回的错误码。

最小长度:3

最大长度:36

error_msg

String

错误请求返回的错误信息。

最小长度:0

最大长度:1024

状态码: 500

表12 响应Body参数

参数

参数类型

描述

error_code

String

错误请求返回的错误码。

最小长度:3

最大长度:36

error_msg

String

错误请求返回的错误信息。

最小长度:0

最大长度:1024

请求示例

创建CA证书,请求头中的X-Auth-Token字段需要填写token,且该token需要具有本API的访问权限。

POST https://{Endpoint}/v1/private-certificate-authorities

{
  "type" : "ROOT",
  "key_algorithm" : "RSA4096",
  "signature_algorithm" : "SHA512",
  "distinguished_name" : {
    "common_name" : "demoRootRSA",
    "country" : "CN",
    "locality" : "chengdu",
    "organization" : "TestA",
    "organizational_unit" : "dew",
    "state" : "sichuan"
  },
  "validity" : {
    "type" : "YEAR",
    "value" : 3
  },
  "crl_configuration" : {
    "enabled" : false,
    "obs_bucket_name" : "demoBucket",
    "valid_days" : 8
  }
}

响应示例

状态码: 200

请求已成功

{
  "ca_id" : "66504812-fedc-414a-9b7c-4c1836398524"
}

状态码: 400

请求参数有误。

{
  "error_code" : "PCA.XXX",
  "error_msg" : "XXX"
}

状态码: 401

被请求的页面需要鉴权。

{
  "error_code" : "PCA.XXX",
  "error_msg" : "XXX"
}

状态码: 403

认证失败。

{
  "error_code" : "PCA.XXX",
  "error_msg" : "XXX"
}

状态码: 404

资源不存在或资源未找到。

{
  "error_code" : "PCA.XXX",
  "error_msg" : "XXX"
}

状态码: 500

服务内部错误。

{
  "error_code" : "PCA.XXX",
  "error_msg" : "XXX"
}

状态码

状态码

描述

200

请求已成功

400

请求参数有误。

401

被请求的页面需要鉴权。

403

认证失败。

404

资源不存在或资源未找到。

500

服务内部错误。

错误码

请参见错误码

本文导读

功能介绍
调试
URI
请求参数
响应参数
请求示例
响应示例
状态码
错误码