CreateClientCertificateWithCsr - 基于自定义的CSR签发单个客户端证书

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

接口说明

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

QPS 限制

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

调试

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

调试

授权信息

下表是API对应的授权信息,可以在RAM权限策略语句的Action元素中使用,用来给RAM用户或RAM角色授予调用此API的权限。具体说明如下:

  • 操作:是指具体的权限点。

  • 访问级别:是指每个操作的访问级别,取值为写入(Write)、读取(Read)或列出(List)。

  • 资源类型:是指操作中支持授权的资源类型。具体说明如下:

    • 对于必选的资源类型,用前面加 * 表示。

    • 对于不支持资源级授权的操作,用全部资源表示。

  • 条件关键字:是指云产品自身定义的条件关键字。

  • 关联操作:是指成功执行操作所需要的其他权限。操作者必须同时具备关联操作的权限,操作才能成功。

操作

访问级别

资源类型

条件关键字

关联操作

yundun-cert:CreateClientCertificateWithCsr

create

*全部资源

*

请求参数

名称

类型

必填

描述

示例值

Csr

string

CSR 内容。您可以通过 OpenSSL 工具或者 Keytool 工具生成 CSR。更多信息,请参见如何制作 CSR 文件您也可以通过 SSL 证书控制台创建 CSR。更多信息,请参见创建 CSR

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

SanType

integer

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

  • 1:表示邮箱。

  • 6:表示统一资源标志符 URI(Uniform Resource Identifier)。

1

SanValue

string

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

somebody@example.com

Organization

string

机构名称,默认:Alibaba Inc。

阿里云计算有限公司

OrganizationUnit

string

部门名称,默认:Aliyun CDN。

Security

Country

string

国家代码,例如 CNUS

CN

CommonName

string

设置证书的公用名。支持使用中文、英文字符等。

说明

如果您设置了 CsrPemString 参数,则 CommonName 参数取值以 CsrPemString 参数中的对应信息为准。

aliyundoc.com

State

string

设置证书组织机构所在省份、直辖市或自治区的名称。支持使用中文、英文字符等。默认为签发该证书的子 CA 证书组织机构所在省份、直辖市或自治区的名称。

Zhejiang

Locality

string

设置证书组织机构所在城市的名称。支持使用中文、英文字符等。 默认为签发该证书的子 CA 证书的组织机构所在城市的名称。

Hangzhou

Algorithm

string

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

  • 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 证书的密钥算法。

RSA_2048

ParentIdentifier

string

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

说明

您可以调用 DescribeCACertificateList 查询子 CA 证书的唯一识别码。

270ae6bb538d538c70c01f81fg3****

Years

integer

证书有效期。单位:年。

1

Months

integer

证书有效期。单位:月。

12

Days

integer

客户端证书的有效期。单位:天。 DaysBeforeTimeAfterTime 参数不能同时为空,同时 BeforeTimeAfterTime 参数必须同时为空或者同时设置。该参数具体设置说明如下:

  • 当设置 Days 参数时,您可以选择同时设置 BeforeTimeAfterTime 参数或者不设置 BeforeTimeAfterTime 参数。

  • 当不设置 Days 参数时,您必须设置 BeforeTimeAfterTime 参数。

说明
  • 当您同时设置 DaysBeforeTimeAfterTime 参数时,客户端证书的有效期以 Days 参数的值为准。

  • 客户端证书的有效期不能超过子 CA 证书的有效期。您可以调用 DescribeCACertificate 查看子 CA 证书的有效期。

365

BeforeTime

integer

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

说明

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

1634283958

AfterTime

integer

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

说明

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

1665819958

Immediately

integer

立即返回数字证书。

  • 0,不返回。默认值。

  • 1,返回证书。

  • 2, 返回证书及其证书链 。

1

EnableCrl

integer

是否包含 CRL 地址

0 - 否

1 - 是

1

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

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

返回参数

名称

类型

描述

示例值

object

CreateCertificateResponse

X509Certificate

string

客户端证书的内容。

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

CertificateChain

string

CA 证书链。

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

Identifier

string

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

200ae6bb538d538c70c01f81dcf2****

SerialNumber

string

证书序列号。

084bde9cd233f0ddae33adc438cfbbbd****

RequestId

string

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

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

CertSignBufKmc

string

加密证书内容。

MIIDYDCCAwWgAwIBAgIU *** TmTk0CS3WNweqsjMEETyxd2pzU6DA

CertKmcRep1

string

加密证书密文。

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

示例

正常返回示例

JSON格式

{
  "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"
}

错误码

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

变更历史

更多信息,参考变更详情