申请证书 - CreateCertificate
功能介绍
申请证书。
调试
您可以在API Explorer中调试该接口,支持自动认证鉴权。API Explorer可以自动生成SDK代码示例,并提供SDK代码示例调试功能。
授权信息
账号具备所有API的调用权限,如果使用账号下的IAM用户调用当前API,该IAM用户需具备调用API所需的权限。
- 如果使用角色与策略授权,具体权限要求请参见权限和授权项。
 - 如果使用身份策略授权,需具备如下身份策略权限。
 
URI
POST /v1/private-certificates
请求参数
| 
        参数  | 
      
        是否必选  | 
      
        参数类型  | 
      
        描述  | 
     
|---|---|---|---|
| 
        X-Auth-Token  | 
      
        是  | 
      
        String  | 
      
        用户token,参见:IAM token获取方法。  | 
     
| 
        参数  | 
      
        是否必选  | 
      
        参数类型  | 
      
        描述  | 
     
|---|---|---|---|
| 
        issuer_id  | 
      
        是  | 
      
        String  | 
      
        父CA证书ID。  | 
     
| 
        key_algorithm  | 
      
        否  | 
      
        String  | 
      
        密钥算法。若用户不输入该字段,默认使用签发CA的密钥算法。可选值如下:  | 
     
| 
        signature_algorithm  | 
      
        否  | 
      
        String  | 
      
        签名哈希算法。若用户不输入该字段,默认使用签发CA的签名哈希算法。可选值如下:  | 
     
| 
        distinguished_name  | 
      
        是  | 
      
        CertDistinguishedName object  | 
      
        证书名称配置,详情请参见CertDistinguishedName字段数据结构说明。  | 
     
| 
        validity  | 
      
        是  | 
      
        Validity object  | 
      
        证书有效期,详情请参见Validity字段数据结构说明。  | 
     
| 
        key_usages  | 
      
        否  | 
      
        Array of strings  | 
      
        密钥用法,具体标准参见RFC 5280中:4.2.1.3节。  | 
     
| 
        subject_alternative_names  | 
      
        否  | 
      
        Array of SubjectAlternativeName objects  | 
      
        主体备用名称,详情请参见SubjectAlternativeName字段数据结构说明。  | 
     
| 
        extended_key_usage  | 
      
        否  | 
      
        ExtendedKeyUsage object  | 
      
        增强型密钥用法,详情请参见ExtendedKeyUsage字段数据结构说明。  | 
     
| 
        customized_extension  | 
      
        否  | 
      
        CustomizedExtension object  | 
      
        自定义扩展信息,详情请参见CustomizedExtension字段数据结构说明。  | 
     
| 
        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}$”  | 
     
| 
        参数  | 
      
        是否必选  | 
      
        参数类型  | 
      
        描述  | 
     
|---|---|---|---|
| 
        common_name  | 
      
        是  | 
      
        String  | 
      
        证书通用名称(CN),名称只能由"-"、"_"、" "、"."、","、"*"、字母、数字、汉字组成,长度不能超过64位字符。  | 
     
| 
        country  | 
      
        否  | 
      
        String  | 
      
        国家编码,只能由英文组成,长度为2位字符。若不传入,则默认继承父CA对应的值。  | 
     
| 
        state  | 
      
        否  | 
      
        String  | 
      
        省市名称,名称只能由"-"、"_"、" "、"."、","、字母、数字、汉字组成,长度不能超过128位字符。若不传入,则默认继承父CA对应的值。  | 
     
| 
        locality  | 
      
        否  | 
      
        String  | 
      
        地区名称,名称只能由"-"、"_"、" "、"."、","、字母、数字、汉字组成,长度不能超过128位字符。若不传入,则默认继承父CA对应的值。  | 
     
| 
        organization  | 
      
        否  | 
      
        String  | 
      
        组织名称,名称只能由"-"、"_"、" "、"."、","、字母、数字、汉字组成,长度不能超过64位字符。若不传入,则默认继承父CA对应的值。  | 
     
| 
        organizational_unit  | 
      
        否  | 
      
        String  | 
      
        组织单元名称,名称只能由"-"、"_"、" "、"."、","、字母、数字、汉字组成,长度不能超过64位字符。若不传入,则默认继承父CA对应的值。  | 
     
| 
        参数  | 
      
        是否必选  | 
      
        参数类型  | 
      
        描述  | 
     
|---|---|---|---|
| 
        type  | 
      
        是  | 
      
        String  | 
      
        有效期类型,为必填值:  | 
     
| 
        value  | 
      
        是  | 
      
        Integer  | 
      
        证书有效期值,与type对应的类型值,换算成年需满足以下规则:  | 
     
| 
        start_from  | 
      
        否  | 
      
        Integer  | 
      
        起始时间,为可选值:  | 
     
| 
        参数  | 
      
        是否必选  | 
      
        参数类型  | 
      
        描述  | 
     
|---|---|---|---|
| 
        type  | 
      
        是  | 
      
        String  | 
      
        备用名称类型,当前仅支持DNS、IP、EMAIL、URI、UPN。  | 
     
| 
        value  | 
      
        是  | 
      
        String  | 
      
        对应备用名称类型的值。  | 
     
| 
        参数  | 
      
        是否必选  | 
      
        参数类型  | 
      
        描述  | 
     
|---|---|---|---|
| 
        server_auth  | 
      
        否  | 
      
        Boolean  | 
      
        服务器身份验证,OID为:1.3.6.1.5.5.7.3.1。 
         说明: 
         服务器证书请启用本增强型密钥用法,默认为false。  | 
     
| 
        client_auth  | 
      
        否  | 
      
        Boolean  | 
      
        客户端身份验证,OID为:1.3.6.1.5.5.7.3.2。 
         说明: 
         客户端证书请启用本增强型密钥用法,默认为false。  | 
     
| 
        code_signing  | 
      
        否  | 
      
        Boolean  | 
      
        代码签名,OID为:1.3.6.1.5.5.7.3.3。 
         说明: 
         签署可下载的可执行代码客户端认证,默认为false。  | 
     
| 
        email_protection  | 
      
        否  | 
      
        Boolean  | 
      
        安全电子邮件,OID为:1.3.6.1.5.5.7.3.4。 
         说明: 
         电子邮件保护,默认为false。  | 
     
| 
        time_stamping  | 
      
        否  | 
      
        Boolean  | 
      
        时间戳,OID为:1.3.6.1.5.5.7.3.8。 
         说明: 
         将一个对象的哈希绑定到一个时间,默认为false。  | 
     
| 
        smart_card_logon  | 
      
        否  | 
      
        Boolean  | 
      
        智能卡登录,OID为:1.3.6.1.4.1.311.20.2.2。 
         说明: 
         Active Directory登录,默认为false。  | 
     
响应参数
状态码:200
| 
        参数  | 
      
        参数类型  | 
      
        描述  | 
     
|---|---|---|
| 
        certificate_id  | 
      
        String  | 
      
        当前签发的证书ID。  | 
     
状态码:400
| 
        参数  | 
      
        参数类型  | 
      
        描述  | 
     
|---|---|---|
| 
        error_code  | 
      
        String  | 
      
        错误请求返回的错误码。  | 
     
| 
        error_msg  | 
      
        String  | 
      
        错误请求返回的错误信息。  | 
     
状态码:401
| 
        参数  | 
      
        参数类型  | 
      
        描述  | 
     
|---|---|---|
| 
        error_code  | 
      
        String  | 
      
        错误请求返回的错误码。  | 
     
| 
        error_msg  | 
      
        String  | 
      
        错误请求返回的错误信息。  | 
     
状态码:403
| 
        参数  | 
      
        参数类型  | 
      
        描述  | 
     
|---|---|---|
| 
        error_code  | 
      
        String  | 
      
        错误请求返回的错误码。  | 
     
| 
        error_msg  | 
      
        String  | 
      
        错误请求返回的错误信息。  | 
     
状态码:404
| 
        参数  | 
      
        参数类型  | 
      
        描述  | 
     
|---|---|---|
| 
        error_code  | 
      
        String  | 
      
        错误请求返回的错误码。  | 
     
| 
        error_msg  | 
      
        String  | 
      
        错误请求返回的错误信息。  | 
     
状态码:500
| 
        参数  | 
      
        参数类型  | 
      
        描述  | 
     
|---|---|---|
| 
        error_code  | 
      
        String  | 
      
        错误请求返回的错误码。  | 
     
| 
        error_msg  | 
      
        String  | 
      
        错误请求返回的错误信息。  | 
     
请求示例
申请证书,请求头中的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" ]
}
 响应示例
状态码: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  | 
      
        服务内部错误。  | 
     
错误码
请参见错误码。