All Products
Search
Document Center

Certificate Management Service:CreateClientCertificateWithCsr

Last Updated:Oct 30, 2025

Issues a client certificate based on a Certificate Signing Request (CSR).

Operation description

Before you call this operation, you must call CreateRootCACertificate to create a root CA certificate and CreateSubCACertificate to create a subordinate CA certificate. Only subordinate CA certificates can issue client certificates.

QPS limit

The queries per second (QPS) limit for this operation is 10 for each user. If you exceed this limit, API calls are throttled. This may affect your business. Plan your calls accordingly.

Try it now

Try this API in OpenAPI Explorer, no manual signing needed. Successful calls auto-generate SDK code matching your parameters. Download it with built-in credential security for local usage.

Test

RAM authorization

The table below describes the authorization required to call this API. You can define it in a Resource Access Management (RAM) policy. The table's columns are detailed below:

  • Action: The actions can be used in the Action element of RAM permission policy statements to grant permissions to perform the operation.

  • API: The API that you can call to perform the action.

  • Access level: The predefined level of access granted for each API. Valid values: create, list, get, update, and delete.

  • Resource type: The type of the resource that supports authorization to perform the action. It indicates if the action supports resource-level permission. The specified resource must be compatible with the action. Otherwise, the policy will be ineffective.

    • For APIs with resource-level permissions, required resource types are marked with an asterisk (*). Specify the corresponding Alibaba Cloud Resource Name (ARN) in the Resource element of the policy.

    • For APIs without resource-level permissions, it is shown as All Resources. Use an asterisk (*) in the Resource element of the policy.

  • Condition key: The condition keys defined by the service. The key allows for granular control, applying to either actions alone or actions associated with specific resources. In addition to service-specific condition keys, Alibaba Cloud provides a set of common condition keys applicable across all RAM-supported services.

  • Dependent action: The dependent actions required to run the action. To complete the action, the RAM user or the RAM role must have the permissions to perform all dependent actions.

Action

Access level

Resource type

Condition key

Dependent action

yundun-cert:CreateClientCertificateWithCsr

create

*All Resource

*

None None

Request parameters

Parameter

Type

Required

Description

Example

Csr

string

No

The content of the CSR. Generate a CSR using OpenSSL or Keytool. For more information, see How to create a CSR file.

-----BEGIN CERTIFICATE REQUEST----- ...... -----END CERTIFICATE REQUEST-----

SanType

integer

No

The type of the Subject Alternative Name (SAN) extension of the client certificate. Valid values:

  • 1: email address.

  • 6: Uniform Resource Identifier (URI).

1

SanValue

string

No

The content of the extension. You can specify multiple extensions. To specify multiple extensions, separate them with commas (,).

somebody@example.com

Organization

string

No

The name of the organization. Default value: Alibaba Inc.

阿里云计算有限公司

OrganizationUnit

string

No

The name of the department. Default value: Aliyun CDN.

Security

Country

string

No

The country code, such as CN and US.

CN

CommonName

string

No

The common name of the certificate. The name can contain Chinese and English characters.

Note

If you set the Csr parameter, the value of this parameter is ignored. The common name specified in the Csr parameter is used instead.

aliyundoc.com

State

string

No

The province or state where the organization is located. The value can contain letters. The default value is the province or state of the subordinate CA that issues the certificate.

Zhejiang

Locality

string

No

The name of the city where the organization is located. The name can contain Chinese and English characters. The default value is the city of the organization that is associated with the issuing subordinate CA certificate.

Hangzhou

Algorithm

string

No

The key algorithm of the client certificate. The key algorithm is in the <Encryption algorithm>_<Key length> format. Valid values:

  • RSA_1024: The corresponding signature algorithm is Sha256WithRSA.

  • RSA_2048: The corresponding signature algorithm is Sha256WithRSA.

  • RSA_4096: The corresponding signature algorithm is Sha256WithRSA.

  • ECC_256: The corresponding signature algorithm is Sha256WithECDSA.

  • ECC_384: The corresponding signature algorithm is Sha256WithECDSA.

  • ECC_512: The corresponding signature algorithm is Sha256WithECDSA.

  • SM2_256: The corresponding signature algorithm is SM3WithSM2.

The encryption algorithm of the client certificate must be the same as that of the subordinate CA certificate, but the key length can be different. For example, if the key algorithm of the subordinate CA certificate is RSA_2048, the key algorithm of the client certificate must be RSA_1024, RSA_2048, or RSA_4096.

Note

Call DescribeCACertificate to query the key algorithm of the subordinate CA certificate.

RSA_2048

ParentIdentifier

string

No

The unique identifier of the subordinate CA certificate that issues the client certificate.

Note

Call DescribeCACertificateList to query the unique identifiers of subordinate CA certificates.

270ae6bb538d538c70c01f81fg3****

Years

integer

No

The validity period of the certificate in years.

1

Months

integer

No

The validity period of the certificate in months.

12

Days

integer

No

The validity period of the client certificate in days. Specify the validity period using the Days parameter, or the BeforeTime and AfterTime parameters.

  • The BeforeTime and AfterTime parameters must be specified together.

  • If you specify the Days, BeforeTime, and AfterTime parameters, the value of Days is used.

Note
  • When you set the Days, BeforeTime, and AfterTime parameters, the Days parameter determines the validity period of the client certificate.

  • A client certificate cannot be valid longer than the subordinate CA certificate. Call DescribeCACertificate to view the validity period of the subordinate CA certificate.

365

BeforeTime

integer

No

The time when the client certificate is issued. This is a UNIX timestamp. The default value is the time when you call this operation. Unit: seconds.

Note

The BeforeTime and AfterTime parameters must be specified together or both left empty.

1634283958

AfterTime

integer

No

The time when the client certificate expires. This is a UNIX timestamp. Unit: seconds.

Note

The BeforeTime and AfterTime parameters must be specified together or both left empty.

1665819958

Immediately

integer

No

Specifies whether to immediately return the digital certificate.

  • 0: Does not return the certificate. This is the default value.

  • 1: Returns the certificate.

  • 2: Returns the certificate and its certificate chain.

1

EnableCrl

integer

No

Specifies whether to include the certificate revocation list (CRL) address.

0: No

1: Yes

1

Tags

array<object>

No

A list of tags.

object

No

A list of tags.

Key

string

No

The tag key.

database

Value

string

No

The value of the tag.

1

ResourceGroupId

string

No

The ID of the resource group to which the certificate belongs.

rg-ae******4wia

When you call an API operation, you must include the common request parameters in addition to the operation-specific parameters.

For more information about the request format, see the request example in this topic.

Response elements

Element

Type

Description

Example

object

CreateCertificateResponse

X509Certificate

string

The content of the client certificate.

-----BEGIN CERTIFICATE-----\n......\n-----END CERTIFICATE-----

CertificateChain

string

The CA certificate chain.

-----BEGIN CERTIFICATE-----\n......\n-----END CERTIFICATE-----\n-----BEGIN CERTIFICATE-----\n......\n-----END CERTIFICATE-----\n

Identifier

string

The unique identifier of the client certificate.

200ae6bb538d538c70c01f81dcf2****

SerialNumber

string

The certificate serial number.

084bde9cd233f0ddae33adc438cfbbbd****

RequestId

string

The ID of the request. Alibaba Cloud generates a unique ID for each request. Use the ID to troubleshoot issues.

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

CertSignBufKmc

string

The encrypted content of the certificate.

MIIDYDCCAwWgAwIBAgIU *** TmTk0CS3WNweqsjMEETyxd2pzU6DA

CertKmcRep1

string

The ciphertext of the certificate.

userSeal=MHkCIEu94PQAahFWuFk% *** EtFw%2FkMMBjw8i5bFfSkV%2FIUrcOJD

Examples

Success response

JSON format

{
  "X509Certificate": "-----BEGIN CERTIFICATE-----\\n......\\n-----END CERTIFICATE-----",
  "CertificateChain": "-----BEGIN CERTIFICATE-----\\n......\\n-----END CERTIFICATE-----\\n-----BEGIN CERTIFICATE-----\\n......\\n-----END CERTIFICATE-----\\n",
  "Identifier": "200ae6bb538d538c70c01f81dcf2****",
  "SerialNumber": "084bde9cd233f0ddae33adc438cfbbbd****",
  "RequestId": "31C66C7B-671A-4297-9187-2C4477247A74",
  "CertSignBufKmc": "MIIDYDCCAwWgAwIBAgIU\n***\nTmTk0CS3WNweqsjMEETyxd2pzU6DA",
  "CertKmcRep1": "userSeal=MHkCIEu94PQAahFWuFk%\n***\nEtFw%2FkMMBjw8i5bFfSkV%2FIUrcOJD"
}

Error codes

See Error Codes for a complete list.

Release notes

See Release Notes for a complete list.