调用CreateClientCertificate,基于系统自动生成的CSR签发单个客户端证书。

使用说明

调用本接口前,您必须已经调用CreateRootCACertificate创建了根CA证书,并且调用CreateSubCACertificate创建了子CA证书。只有子CA证书才能签发客户端证书。

QPS限制

本接口的单用户QPS限制为10次/秒。超过限制,API调用将会被限流,这可能影响您的业务,请合理调用。

调试

您可以在OpenAPI Explorer中直接运行该接口,免去您计算签名的困扰。运行成功后,OpenAPI Explorer可以自动生成SDK代码示例。

请求参数

名称 类型 是否必选 示例值 描述
Action String CreateClientCertificate

要执行的操作。取值:CreateClientCertificate

SanType Integer 2

客户端证书支持的扩展信息SAN(Subject Alternative Name)类型。取值:

  • 1:表示邮箱。
  • 2:表示域名。
  • 6:表示统一资源标志符URI(Uniform Resource Identifier)。
  • 7:表示IP地址。
SanValue String example.com

客户端证书的具体扩展信息。支持输入多个扩展信息,如果您需要输入多个扩展信息,请用半角逗号(,)将其隔开。

CommonName String aliyun

客户端证书的公用名。支持使用中文、英文字符等。

Algorithm String RSA_2048

客户端证书的密钥算法。密钥算法使用<加密算法>_<密钥长度>格式表示。取值:

  • RSA_1024:对应签名算法为Sha256WithRSA。
  • RSA_2048:对应签名算法为Sha256WithRSA。
  • RSA_4096:对应签名算法为Sha256WithRSA。
  • ECC_256:对应签名算法为Sha256WithECDSA。
  • ECC_384:对应签名算法为Sha256WithECDSA。
  • ECC_512:对应签名算法为Sha256WithECDSA。
  • SM2_256:对应签名算法为SM3WithSM2。

客户端证书的加密算法必须与子CA证书一致,密钥长度可以不一致。例如:子CA证书的密钥算法为RSA_2048,则客户端证书的密钥算法必须是RSA_1024、RSA_2048、RSA_4096中的一种。

说明 您可以调用DescribeCACertificate查询子CA证书的密钥算法。
Days Integer 365

客户端证书的有效期。单位:天。

DaysBeforeTimeAfterTime参数不能同时为空,并且BeforeTimeAfterTime参数必须同时为空或者同时设置。该参数具体设置说明如下:

  • 当设置Days参数时,您可以选择同时设置BeforeTimeAfterTime参数或者不设置BeforeTimeAfterTime参数。
  • 当不设置Days参数时,您必须设置BeforeTimeAfterTime参数。
说明
  • 当您同时设置DaysBeforeTimeAfterTime参数时,客户端证书的有效期以Days参数的值为准。
  • 客户端证书的有效期不能超过子CA证书的有效期。您可以调用DescribeCACertificate查看子CA证书的有效期。
ParentIdentifier String 273ae6bb538d538c70c01f81jh2****

签发该证书的子CA证书的唯一识别码。

说明 您可以调用DescribeCACertificateList查询子CA证书的唯一识别码。
BeforeTime Long 1634283958

客户端证书的签发时间,使用时间戳格式,默认为您调用该接口的时间。单位:秒。

说明 BeforeTimeAfterTime参数必须同时为空或者同时设置。
AfterTime Long 1665819958

客户端证书的服务到期时间,使用时间戳格式。单位:秒。

说明 BeforeTimeAfterTime参数必须同时为空或者同时设置。

调用API时,除了本文中该API的请求参数,还需加入阿里云API公共请求参数。公共请求参数的详细介绍,请参见公共参数

调用API的请求格式,请参见本文示例中的请求示例。

返回数据

名称 类型 示例值 描述
Identifier String 190ae6bb538d538c70c01f81dcf2****

客户端证书的唯一识别码。

RootX509Certificate String -----BEGIN CERTIFICATE-----\n......\n-----END CERTIFICATE-----

根CA证书的内容。

ParentX509Certificate String -----BEGIN CERTIFICATE-----\n......\n-----END CERTIFICATE-----

子CA证书的内容。

RequestId String 8C467B38-3910-447D-87BC-AC049166F216

本次调用请求的ID,是由阿里云为该请求生成的唯一标识符,可用于排查和定位问题。

X509Certificate String -----BEGIN CERTIFICATE-----\n......\n-----END CERTIFICATE-----

客户端证书的内容。

CertificateChain String -----BEGIN CERTIFICATE-----\n......\n-----END CERTIFICATE-----\n-----BEGIN CERTIFICATE-----\n......\n-----END CERTIFICATE-----\n

CA证书链。

示例

请求示例

http(s)://[Endpoint]/?Action=CreateClientCertificate
&SanType=2
&SanValue=example.com
&CommonName=aliyun
&Algorithm=RSA_2048
&Days=365
&ParentIdentifier=273ae6bb538d538c70c01f81jh2****
&BeforeTime=1634283958
&AfterTime=1665819958
&公共请求参数

正常返回示例

XML格式

HTTP/1.1 200 OK
Content-Type:application/xml

<CreateClientCertificateResponse>
    <Identifier>190ae6bb538d538c70c01f81dcf2****</Identifier>
    <RootX509Certificate>-----BEGIN CERTIFICATE-----
      ......
      -----END CERTIFICATE-----
    </RootX509Certificate>
    <ParentX509Certificate>-----BEGIN CERTIFICATE-----
      ......
      -----END CERTIFICATE-----
    </ParentX509Certificate>
    <RequestId>8C467B38-3910-447D-87BC-AC049166F216</RequestId>
    <X509Certificate>-----BEGIN CERTIFICATE-----
      ......
      -----END CERTIFICATE-----
    </X509Certificate>
    <CertificateChain>-----BEGIN CERTIFICATE-----
      ......
      -----END CERTIFICATE-----
      -----BEGIN CERTIFICATE-----
      ......
      -----END CERTIFICATE-----
    </CertificateChain>
</CreateClientCertificateResponse>

JSON格式

HTTP/1.1 200 OK
Content-Type:application/json

{
  "Identifier" : "190ae6bb538d538c70c01f81dcf2****",
  "RootX509Certificate" : "-----BEGIN CERTIFICATE-----\n......\n-----END CERTIFICATE-----",
  "ParentX509Certificate" : "-----BEGIN CERTIFICATE-----\n......\n-----END CERTIFICATE-----",
  "RequestId" : "8C467B38-3910-447D-87BC-AC049166F216",
  "X509Certificate" : "-----BEGIN CERTIFICATE-----\n......\n-----END CERTIFICATE-----",
  "CertificateChain" : "-----BEGIN CERTIFICATE-----\n......\n----END CERTIFICATE-----\n-----BEGIN CERTIFICATE-----\n......\n-----END CERTIFICATE-----\n"
}

错误码

访问错误中心查看更多错误码。