CreateCustomCertificate - 颁发自定义证书

更新时间:
复制 MD 格式

使用指定的证书主体名称、证书主题别名、密钥用法、扩展密钥用法颁发数字证书

接口说明

默认从 CSR 中获取证书主体名称颁发证书。当指定了证书主体名称时,CSR 中的证书主体名称将失效,即使用指定的证书主体名称颁发证书。

必须根据应用场景指定密钥用法或扩展密钥用法。以下是常见应用场景的应用示例:

  • 服务端认证证书

密钥用法:digitalSignature、keyEncipherment

扩展密钥用法:serverAuth

  • 客户端认证证书

密钥用法:digitalSignature、keyEncipherment

扩展密钥用法:clientAuth

  • mTLS 双向认证证书

密钥用法:digitalSignature、keyEncipherment

扩展密钥用法:serverAuth、clientAuth

  • 邮件签名证书

密钥用法:digitalSignature、contentCommitment

扩展密钥用法:emailProtection

注意:合规 CA 由第三方权威机构管理,不支持此接口。

调试

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

调试

授权信息

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

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

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

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

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

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

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

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

操作

访问级别

资源类型

条件关键字

关联操作

yundun-cert:CreateCustomCertificate

create

*全部资源

*

无 无

请求参数

名称

类型

必填

描述

示例值

ParentIdentifier

string

是

CA 证书识别码。

1ed4068c-6f1b-6deb-8e32-3f8439a851cb

Csr

string

是

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

-----BEGIN CERTIFICATE REQUEST----- MIIBczCCARgCAQAwgYoxFDASBgNVBAMMC2FsaXl1bi50ZXN0MQ0wCwYDVQQ ... ... ... vbIgMQIhAKHDWD6/WAMbtezAt4bysJ/BZIDz1jPWuUR5GV4TJ/mS -----END CERTIFICATE REQUEST-----

Validity

string

是

证书有效期。不可超过实例有效期。支持使用相对时间和绝对时间。

相对时间:支持单位年、月、日。

  • 年 - y

  • 月 - m

  • 日 - d

绝对时间:使用 GMT 时间。格式:yyyy-MM-dd'T'HH:mm:ss'Z'

  • 指定结束时间 - $NotAfter

  • 指定开始时间和结束时间 - $NotBefore/$NotAfter

相对时间: ● 1y ● 3m ● 7d 绝对时间: ● 2006-01-02T15:04:05Z ● 2006-01-02T15:04:05Z/2023-03-09T17:48:13Z

ApiPassthrough

object

否

透传参数。调用示例: { "apiPassthrough": { "extensions": { "keyUsage": { "digitalSignature": true, "keyEncipherment": true }, "extendedKeyUsages": ["serverAuth", "clientAuth"], "subjectAlternativeNames": [ {"type": "dNSName", "value": "www.example.com"}, {"type": "dNSName", "value": "example.com"}, {"type": "iPAddress", "value": "192.168.1.1"} ], "criticals": ["ExtendedKeyUsages"] } } }

Subject

object

否

证书主体名称。

Country

string

否

国家代码。使用 ISO 3166-1 的二位国家代码。参考 ISO 。

CN

State

string

否

CA 证书关联的组织机构所在省份、直辖市或自治区的名称。

浙江省

Locality

string

否

组织机构所在城市的名称。支持使用中文、英文字符等。

杭州市

Organization

string

否

组织机构名称。

XXX公司

OrganizationUnit

string

否

组织机构下部门或分支的名称。

XXX部门

CommonName

string

否

证书使用者的通用名称。

张三

CustomAttributes

array<object>

否

自定义证书的 Subject 属性。

object

否

自定义证书的 Subject 属性。

ObjectIdentifier

string

否

自定义属性键值,需符合行业标准。如:

  • 2.5.4.6:国家代码

  • 2.5.4.10:组织

  • 2.5.4.11:组织单位名称

  • 2.5.4.12:职位

  • 2.5.4.3:通用名称

  • 2.5.4.9:街道

  • 2.5.4.5:序列号名称

  • 2.5.4.7:地区

  • 2.5.4.8:省市

  • 1.3.6.1.4.1.37244.1.1:Matter 证书 - 节点 ID

  • 1.3.6.1.4.1.37244.1.5:Matter 证书 - 结构 ID

  • 1.3.6.1.4.1.37244.2.1:Matter 证书供应商 ID (VID)

  • 1.3.6.1.4.1.37244.2.2:Matter 证书产品 ID (PID)

2.5.4.3

Value

string

否

自定义属性属性值。

Aliyun

Extensions

object

否

证书扩展项。

KeyUsage

object

否

密钥用法。

DigitalSignature

boolean

否

数字签名。允许使用证书私钥进行数字签名,允许使用证书公钥验证数字签名。

true

ContentCommitment

boolean

否

内容承诺(不可否认) 。原名称 NonRepudiation。允许证书密钥用于内容承诺。

false

NonRepudiation

boolean

否

抗抵赖(与 contentCommitment 等价)。X.509 标准中已更名为 ContentCommitment。

false

KeyEncipherment

boolean

否

密钥加密。允许证书密钥加密保护其他密钥。

false

DataEncipherment

boolean

否

数据加密。

false

KeyAgreement

boolean

否

密钥协商。

false

EncipherOnly

boolean

否

在 KeyAgreement 为 true 时,用于标记该证书密钥只能用于加密。

false

DecipherOnly

boolean

否

在 KeyAgreement 为 true 时,用于标记该证书密钥只能用于解密。

false

ExtendedKeyUsages

array

否

扩展密钥用法。类型:List,支持以下预定义名称和自定义 OID:

string

否

允许使用以下值:

  • any - 不限制

  • serverAuth - 服务器认证

  • clientAuth - 客户端认证

  • codeSigning - 代码签名

  • emailProtection - 邮件保护

  • timeStamping - 时间戳

  • OCSPSigning - OCSP 签名

  • 其他扩展密钥用法 OID - 作为自定义 OID 解析,如 "1.3.6.1.5.5.7.3.9"

1.3.6.1.4.1.311.20.2.2

SubjectAlternativeNames

array<object>

否

主题备用名称 (SAN)。类型:List<Extensions.SubjectAlternativeName>,每项包含 type(GeneralNameType 枚举)和 value(字符串)。

object

否

证书主体别名。

Type

string

是

允许使用以下值:

  • otherName - 以 # 开头表示 hex-encoded ASN1,否则为 UTF8String

  • rfc822Name - Email 地址

  • dNSName - 域名

  • directoryName - X.500 DN

  • uniformResourceIdentifier - 统一资源标识符(URI)

  • iPAddress - IP 地址

  • registeredID - OID

dNSName

Value

string

否

符合 Type 定义的值。

  • otherName:以 # 开头表示 hex-encoded ASN1,否则为 UTF8String。 otherName 特殊处理:值以 # 开头 → 去掉 #,hex 解码为 ASN1 结构(ASN1Primitive.fromByteArray)

  • 否则 → 包装为 DERUTF8String

  • rfc822Name: Email 地址,如 user@example.com

  • dNSName:域名,如 www.example.com

  • directoryName: X.500 DN,如 CN=Test,O=Org

  • uniformResourceIdentifier:URI,如 https://example.com

  • iPAddress:IP 地址,如 192.168.1.1

  • registeredID:OID,如 1.2.3.4

rfc822Name: example.aliyundoc.com dNSName: learn.aliyundoc.com uniformResourceIdentifier: acs:ecs:regionid:15619224785*****:instance/i-bp1bzvz55uz27hf***** iPAddress: 127.0.0.1

Criticals

array

否

控制扩展的 critical 标记。如果是必要参数,则 criticals 列表中包含参数名。

string

否

必要参数的参数名,如 ExtendedKeyUsages。

ExtendedKeyUsages

SerialNumber

string

否

自定义证书的序列号(必须是长整型)。

16889526086333

Immediately

integer

否

立即获取证书。

  • 0 - 异步颁发证书。

  • 1 - 立即颁发证书。

  • 2 - 立即颁发证书并返回 CA 证书链。

0

EnableCrl

integer

否

是否包含 CRL 地址

  • 0 - 否

  • 1 - 是

1

Tags

array<object>

否

标签列表。

object

否

标签列表。

Key

string

否

标签键。

testKey

Value

string

否

标签值。

1

ResourceGroupId

string

否

资源组 ID。此 ID 可通过调用 ListResources 接口获取。

rg-aek****wia

customIdentifier

string

否

用户自定义标识。

XXX068c-6f1b-6deb-8e32-3f8439a8XXX

返回参数

名称

类型

描述

示例值

object

OpenApiResponseV1

Identifier

string

证书唯一标识。

160ae6bb538d538c70c01f81dcf2****

Certificate

string

证书内容。 Immediately 为 1 或 2 时返回。

-----BEGIN CERTIFICATE----- MIIEkjCCA3qgAwIBAgIQCgFBQgAAAVOFc2oLheynCDANBgkqhkiG9w0BAQsFADA/ ... ... ... KOqkqm57TH2H3eDJAkSnh6/DNFu0Qg== -----END CERTIFICATE-----

CertificateChain

string

CA 证书链。 Immediately 为 2 时返回。

-----BEGIN CERTIFICATE----- MIIBfzCCATGgAwIBAgIUfI5kSdcO2S0+LkpdL3b2VUJG10YwBQYDK2VwMDUxCzAJ ... ... ... ZYYG -----END CERTIFICATE----- -----BEGIN CERTIFICATE----- MIIBczCCARgCAQAwgYoxFDASBgNVBAMMC2FsaXl1bi50ZXN0MQ0wCwYDVQQ ... ... ... KL5cUmF -----END CERTIFICATE-----

SerialNumber

string

证书序列号。 Immediately 为 1 或 2 时返回。

084bde9cd233f0ddae33adc438cfbbbd****

RequestId

string

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

12345678-1234-1234-1234-123456789ABC

示例

正常返回示例

JSON格式

{
  "Identifier": "160ae6bb538d538c70c01f81dcf2****",
  "Certificate": "-----BEGIN CERTIFICATE-----\nMIIEkjCCA3qgAwIBAgIQCgFBQgAAAVOFc2oLheynCDANBgkqhkiG9w0BAQsFADA/\n...\n...\n...\nKOqkqm57TH2H3eDJAkSnh6/DNFu0Qg==\n-----END CERTIFICATE-----",
  "CertificateChain": "-----BEGIN CERTIFICATE-----\nMIIBfzCCATGgAwIBAgIUfI5kSdcO2S0+LkpdL3b2VUJG10YwBQYDK2VwMDUxCzAJ\n...\n...\n...\nZYYG\n-----END CERTIFICATE-----\n-----BEGIN CERTIFICATE-----\nMIIBczCCARgCAQAwgYoxFDASBgNVBAMMC2FsaXl1bi50ZXN0MQ0wCwYDVQQ\n...\n...\n...\nKL5cUmF\n-----END CERTIFICATE-----",
  "SerialNumber": "084bde9cd233f0ddae33adc438cfbbbd****",
  "RequestId": "12345678-1234-1234-1234-123456789ABC"
}

错误码

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

变更历史

更多信息,参考变更详情。