更新时间:2022-05-18 GMT+08:00
分享

申请证书

功能介绍

申请证书。

调试

您可以在API Explorer中调试该接口。

URI

POST /v1/private-certificates

请求参数

表1 请求Header参数

参数

是否必选

参数类型

描述

X-Auth-Token

String

用户token,参见:IAM token获取方法

表2 请求Body参数

参数

是否必选

参数类型

描述

issuer_id

String

父CA证书ID。

最小长度:36

最大长度:36

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位。

signature_algorithm

String

签名哈希算法,可选值如下:

  • SHA256

  • SHA384

  • SHA512

distinguished_name

CertDistinguishedName object

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

validity

Validity object

证书有效期,详情请参见Validity字段数据结构说明。

key_usages

Array of strings

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

  • digitalSignature : 数字签名;

  • nonRepudiation : 不可抵赖;

  • keyEncipherment : 密钥用于加密密钥数据;

  • dataEncipherment : 用于加密数据;

  • keyAgreement : 密钥协商;

  • keyCertSign : 签发证书;

  • cRLSign : 签发吊销列表;

  • encipherOnly : 仅用于加密;

  • decipherOnly : 仅用于解密。

subject_alternative_names

Array of SubjectAlternativeName objects

主体备用名称,详情请参见SubjectAlternativeName字段数据结构说明。

  • array大小:[0,20]。

customized_extension

CustomizedExtension object

自定义扩展信息,详情请参见CustomizedExtension字段数据结构说明。

表3 CertDistinguishedName

参数

是否必选

参数类型

描述

common_name

String

证书通用名称(CN)。

最小长度:1

最大长度:64

country

String

国家编码,需符合正则"[A-Za-z]{2}"。若不传入,则默认继承父CA对应的值。

最小长度:2

最大长度:2

state

String

省市名称。若不传入,则默认继承父CA对应的值。

最小长度:1

最大长度:128

locality

String

地区名称。若不传入,则默认继承父CA对应的值。

最小长度:1

最大长度:128

organization

String

组织名称。若不传入,则默认继承父CA对应的值。

最小长度:1

最大长度:64

organizational_unit

String

组织单元名称。若不传入,则默认继承父CA对应的值。

最小长度: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 SubjectAlternativeName

参数

是否必选

参数类型

描述

type

String

备用名称类型,当前仅支持DNS与IP。

  • DNS

  • IP

value

String

对应备用名称类型的值。

  • DNS类型,长度为0~253;

  • IP类型,长度为0~39。

表6 CustomizedExtension

参数

是否必选

参数类型

描述

object_identifier

String

对象标识符。

说明:

本参数需要满足ASN1规范的点分十进制符号格式的字符串,如1.3.6.1.4.1.2011.4.99。

最小长度:1

最大长度:64

value

String

自定义属性内容。

最小长度:1

最大长度:64

响应参数

状态码: 200

表7 响应Body参数

参数

参数类型

描述

certificate_id

String

当前签发的证书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

请求示例

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

POST https://ccm.cn-north-4.myhuaweicloud.com/v1/private-certificates

{
  "key_algorithm" : "RSA2048",
  "distinguished_name" : {
    "country" : "CN",
    "state" : "Sichuan",
    "locality" : "Chengdu",
    "organization" : "Huawei",
    "organizational_unit" : "CloudBU",
    "common_name" : "TestCert"
  },
  "subject_alternative_names" : [ {
    "type" : "IP",
    "value" : "156.127.116.38"
  } ],
  "signature_algorithm" : "SHA256",
  "validity" : {
    "type" : "YEAR",
    "value" : 3
  },
  "issuer_id" : "2cb2878b-6cd1-460d-bd25-afe655159bdc",
  "key_usages" : [ "digitalSignature", "nonRepudiation" ],
  "customized_extension" : {
    "object_identifier" : "1.3.6.1.4.1.2011.4.1",
    "value" : "This is custom extensions."
  }
}

响应示例

状态码: 200

请求已成功

{
  "certificate_id" : "ae9a326a-b61e-4446-854d-cda30ffe31f5"
}

状态码: 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

服务内部错误。

错误码

请参见错误码

分享:

    相关文档

    相关产品

close