调用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)类型。取值:
|
SanValue | String | 否 | example.com |
客户端证书的具体扩展信息。支持输入多个扩展信息,如果您需要输入多个扩展信息,请用半角逗号(,)将其隔开。 |
CommonName | String | 是 | aliyun |
客户端证书的公用名。支持使用中文、英文字符等。 |
Algorithm | String | 是 | RSA_2048 |
客户端证书的密钥算法。密钥算法使用
客户端证书的加密算法必须与子CA证书一致,密钥长度可以不一致。例如:子CA证书的密钥算法为RSA_2048,则客户端证书的密钥算法必须是RSA_1024、RSA_2048、RSA_4096中的一种。 说明 您可以调用DescribeCACertificate查询子CA证书的密钥算法。
|
Days | Integer | 否 | 365 |
客户端证书的有效期。单位:天。 Days、BeforeTime、AfterTime参数不能同时为空,并且BeforeTime、AfterTime参数必须同时为空或者同时设置。该参数具体设置说明如下:
说明
|
ParentIdentifier | String | 是 | 273ae6bb538d538c70c01f81jh2**** |
签发该证书的子CA证书的唯一识别码。 说明 您可以调用DescribeCACertificateList查询子CA证书的唯一识别码。
|
BeforeTime | Long | 否 | 1634283958 |
客户端证书的签发时间,使用时间戳格式,默认为您调用该接口的时间。单位:秒。 说明 BeforeTime和AfterTime参数必须同时为空或者同时设置。
|
AfterTime | Long | 否 | 1665819958 |
客户端证书的服务到期时间,使用时间戳格式。单位:秒。 说明 BeforeTime和AfterTime参数必须同时为空或者同时设置。
|
调用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"
}
错误码
访问错误中心查看更多错误码。