调用CreateClientCertificateWithCsr,基于自定义的CSR签发单个客户端证书。

使用说明

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

QPS限制

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

调试

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

请求参数

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

要执行的操作。取值:CreateClientCertificateWithCsr

Csr String -----BEGIN CERTIFICATE REQUEST----- ...... -----END CERTIFICATE REQUEST-----

CSR内容。您可以通过OpenSSL工具或者Keytool工具生成CSR。更多信息,请参见如何制作CSR文件

您也可以通过SSL证书控制台创建CSR。更多信息,请参见创建CSR

SanType Integer 2

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

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

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

Days Integer 365

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

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

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

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

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

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

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

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

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

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

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

返回数据

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

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

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

根CA证书的内容。

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

子CA证书的内容。

RequestId String 31C66C7B-671A-4297-9187-2C4477247A74

本次调用请求的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=CreateClientCertificateWithCsr
&Csr=-----BEGIN CERTIFICATE REQUEST-----   ...... -----END CERTIFICATE REQUEST-----
&SanType=2
&SanValue=aliyundoc.com
&Days=365
&ParentIdentifier=270ae6bb538d538c70c01f81fg3****
&BeforeTime=1634283958
&AfterTime=1665819958
&公共请求参数

正常返回示例

XML格式

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

<CreateClientCertificateWithCsrResponse>
    <Identifier>200ae6bb538d538c70c01f81dcf2****</Identifier>
    <RootX509Certificate>-----BEGIN CERTIFICATE-----
      ......
      -----END CERTIFICATE-----
    </RootX509Certificate>
    <ParentX509Certificate>-----BEGIN CERTIFICATE-----
      ......
      -----END CERTIFICATE-----
    </ParentX509Certificate>
    <RequestId>31C66C7B-671A-4297-9187-2C4477247A74</RequestId>
    <X509Certificate>-----BEGIN CERTIFICATE-----
      ......
      -----END CERTIFICATE-----
    </X509Certificate>
    <CertificateChain>-----BEGIN CERTIFICATE-----
      ......
      -----END CERTIFICATE-----
      -----BEGIN CERTIFICATE-----
      ......
      -----END CERTIFICATE-----
    </CertificateChain>
</CreateClientCertificateWithCsrResponse>

JSON格式

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

{
  "Identifier" : "200ae6bb538d538c70c01f81dcf2****",
  "RootX509Certificate" : "-----BEGIN CERTIFICATE-----\n......\n-----END CERTIFICATE-----",
  "ParentX509Certificate" : "-----BEGIN CERTIFICATE-----\n......\n-----END CERTIFICATE-----",
  "RequestId" : "31C66C7B-671A-4297-9187-2C4477247A74",
  "X509Certificate" : "-----BEGIN CERTIFICATE-----\n......\n-----END CERTIFICATE-----",
  "CertificateChain" : "-----BEGIN CERTIFICATE-----\n......\n-----END CERTIFICATE-----\n-----BEGIN CERTIFICATE-----\n......\n-----END CERTIFICATE-----\n"
}

错误码

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