CreateClientCertificateWithCsr - 基於自訂的CSR簽發單個用戶端認證

更新時間:
Copy as MD

基於自訂的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 檔案

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

SanType

integer

用戶端認證的擴充資訊 SAN(Subject Alternative Name)的類型。取值:

  • 0:otherName (0):其他名稱

  • 1:rfc822Name (1):RFC822 名稱(通常指電子郵件地址)

  • 2:dNSName (2):DNS 名稱(網域名稱)

  • 3:x400Address (3):X.400 地址(一種早期的電子郵件標準地址)

  • 4:directoryName (4):目錄名稱(通常指 X.500 專有名稱 DN)

  • 5:ediPartyName (5):EDI 參與方名稱(電子資料交換參與方名稱)

  • 6:uniformResourceIdentifier (6):統一資源識別項(URI:Uniform Resource Identifier)

  • 7:iPAddress (7):IP 位址

  • 8:registeredID (8):登入的 ID(物件識別碼 OID)

2

SanValue

string

用戶端認證的具體擴充資訊。支援輸入多個擴充資訊,如果您需要輸入多個擴充資訊,請用半形逗號(,)將其隔開。

  1. otherName (0):其他名稱

  • 樣本值:1.3.6.1.4.1.311.20.2.3 (OID) + user@domain.com (UPN 使用者主體名稱)

  • 說明:這是一種自訂的擴充類型,通常由特定的 OID(物件識別碼)和對應的值組成。在 Windows 環境中,常用來存放 UPN(使用者主體名稱),比如用於智慧卡登入的 zhangsan@company.com。

  1. rfc822Name (1):RFC822 名稱(電子郵件地址)

  • 樣本值:admin@example.com,support@company.cn

  • 說明:遵循 RFC 822 標準的互連網電子郵箱地址。常用於 S/MIME 郵件簽名和加密認證中,用來標識郵件的寄件者或接收者。

  • dNSName (2):DNS 名稱(網域名稱)

  • 樣本值:www.example.com,api.test.cn,*.mydomain.com(萬用字元網域名稱)

  • 說明:這是目前 HTTPS 網站 SSL/TLS 認證中最常用的類型。一個認證可以通過 SAN 擴充包含多個 DNS 名稱,從而實現一張認證保護多個子網域名稱或完全不同的網域名稱。

  1. x400Address (3):X.400 地址

  • 樣本值:G=Zhang; S=San; O=Company; PRMD=IT; ADMD=Telecom; C=CN

  • 說明:這是一種較早期的電子郵件系統地址標準,結構非常複雜,包含了國家(C)、管理域(ADMD)、組織(O)、姓(S)、名(G)等屬性。在現代互連網 HTTPS 認證中極少使用,多見於一些傳統的歐洲政企或軍事通訊系統。

  1. directoryName (4):目錄名稱

  • 樣本值:CN=IT Department, OU=Tech, O=Company Ltd, L=Beijing, ST=Beijing, C=CN

  • 說明:即標準的 X.500 專有名稱(DN)。它通常用來在認證中明確標識某個組織、部門或實體的完整層級資訊,常見於企業內部的根憑證或特定的政務數位憑證中。

  1. ediPartyName (5):EDI 參與方名稱

  • 樣本值:nameAssigner=GlobalTradeOrg, partyName=SupplierA

  • 說明:專用於電子資料交換(EDI)領域。用來標識在商業報文交換(如訂單、發票傳輸)中的特定參與方名稱,通常包含分配名稱的機構(nameAssigner)和參與方本身的名稱(partyName)。

  1. uniformResourceIdentifier (6):統一資源識別項(URI)

  • 樣本值:http://www.example.com/verify,https://api.test.cn/status

  • 說明:標準的 URL 格式,必須包含協議頭(如 http:// 或 https://)。它可以指向一個具體的網路資源地址。

  1. iPAddress (7):IP 位址

  • 樣本值:192.168.1.100(IPv4)、2001:0db8:85a3::8a2e:0370:7334(IPv6)

  • 說明:直接綁定伺服器的 IP 位址。常用於沒有網域名稱的內部系統、API 介面伺服器,或者只能通過公網 IP 訪問的特定業務(注意:公網 IP 認證通常需要嚴格的組織驗證 OV)。

  1. registeredID (8):登入的 ID(物件識別碼 OID)

  • 樣本值:1.2.3.4.55.6.5.99、2.5.29.17

  • 說明:由國際標準組織分配的唯一數位識別碼符。在認證中較少作為主體名稱直接使用,更多是作為系統內部的一種唯一身份識別碼或策略標識。

somebody@example.com

Organization

string

機構名稱,預設:Alibaba Inc。

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

Tags

array<object>

標籤列表。

object

標籤列表。

Key

string

標籤鍵。

database

Value

string

標籤的值(value)。

1

ResourceGroupId

string

認證所屬資源群組的 ID。

rg-ae******4wia

CustomIdentifier

string

使用者自訂標識,唯一鍵。

***e6bb538d538c70c01f81fg3****

調用 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"
}

錯誤碼

訪問錯誤中心查看更多錯誤碼。

變更歷史

更多資訊,參考變更詳情