全部產品
Search
文件中心

:CertificatePrivateKeySign

更新時間:Jan 22, 2025

調用CertificatePrivateKeySign介面使用指定認證產生數位簽章。

請求參數中籤名演算法需要跟密鑰類型對應。簽名演算法和密鑰類型對照表如下:

Algorithm

Key Spec

RSA_PKCS1_SHA_256

RSA_2048

RSA_PSS_SHA_256

RSA_2048

ECDSA_SHA_256

EC_P256

SM2DSA

EC_SM2

本文將提供一個樣本,使用ID為12345678-1234-1234-1234-12345678****的認證,通過ECDSA_SHA_256簽名演算法為未經處理資料VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wcyBvdmVyIHRoZSBsYXp5IGRvZy4=產生數位簽章。

調試

您可以在OpenAPI Explorer中直接運行該介面,免去您計算簽名的困擾。運行成功後,OpenAPI Explorer可以自動產生SDK程式碼範例。

請求參數

名稱 類型 是否必選 樣本值 描述
Action String CertificatePrivateKeySign

要執行的操作。取值:CertificatePrivateKeySign

CertificateId String 12345678-1234-1234-1234-12345678****

認證ID。認證管家中認證的通用唯一識別碼。

Algorithm String ECDSA_SHA_256

簽名演算法。取值:

  • RSA_PKCS1_SHA_256
  • RSA_PSS_SHA_256
  • ECDSA_SHA_256
  • SM2DSA
    說明 SM2DSA簽名演算法僅在中國內地使用託管密碼機的地區支援。更多資訊,請參見託管密碼機概述
MessageType String RAW

訊息類型。取值:

  • RAW(預設值):未經處理資料。
  • DIGEST:未經處理資料的訊息摘要(雜湊值)。
Message String VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wcyBvdmVyIHRoZSBsYXp5IGRvZy4=

待簽名資料。

使用Base64編碼。例如:待簽名資料的十六進位內容為[0x31, 0x32, 0x33, 0x34],則對應的Base64編碼為MTIzNA==

當MessageType取值為RAW時,資料內容需小於4KB。

如果待簽名資料內容大於4KB,您可以將MessageType指定為DIGEST,將Message指定為本地計算的訊息摘要(又稱雜湊值)。認證管家將使用您自己的認證應用系統計算訊息摘要,使用的訊息摘要演算法須與指定簽名演算法需要的訊息摘要演算法保持一致。具體如下:

  • RSA_PKCS1_SHA_256、RSA_PSS_SHA_256和ECDSA_SHA_256對應的訊息摘要演算法為SHA-256。
  • SM2DSA對應的訊息摘要演算法為SM3。
說明 當認證密鑰規格為EC_SM2,並且MessageType為DIGEST時,Message值為GB/T 32918.2-2016 6.1中描述的e

關於公用請求參數的詳情,請參見公用參數

返回資料

名稱 類型 樣本值 描述
SignatureValue String ZOyIygCyaOW6Gj****MlNKiuyjfzw=

簽名值。

使用Base64編碼。

RequestId String 5979d897-d69f-4fc9-87dd-f3bb73c40b80

本次調用請求的ID,是由阿里雲為該請求產生的唯一識別碼,可用於排查和定位問題。

CertificateId String 12345678-1234-1234-1234-12345678****

認證ID。

樣本

請求樣本

http(s)://[Endpoint]/?Action=CertificatePrivateKeySign
&CertificateId=12345678-1234-1234-1234-12345678****
&Algorithm=ECDSA_SHA_256
&MessageType=RAW
&Message=VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wcyBvdmVyIHRoZSBsYXp5IGRvZy4=
&公用請求參數

正常返回樣本

XML格式

HTTP/1.1 200 OK
Content-Type:application/xml

<CertificatePrivateKeySignResponse>
    <SignatureValue>ZOyIygCyaOW6Gj****MlNKiuyjfzw=</SignatureValue>
    <RequestId>5979d897-d69f-4fc9-87dd-f3bb73c40b80</RequestId>
    <CertificateId>12345678-1234-1234-1234-12345678****</CertificateId>
</CertificatePrivateKeySignResponse>

JSON格式

HTTP/1.1 200 OK
Content-Type:application/json

{
  "SignatureValue" : "ZOyIygCyaOW6Gj****MlNKiuyjfzw=",
  "RequestId" : "5979d897-d69f-4fc9-87dd-f3bb73c40b80",
  "CertificateId" : "12345678-1234-1234-1234-12345678****"
}

錯誤碼

HttpCode 錯誤碼 錯誤資訊 描述
400 InvalidParameter The specified parameter is not valid. 參數非法。
404 Certificate.NotFound The specified certificate is not found. 指定的認證不存在。
404 InvalidAccessKeyId.NotFound The Access Key ID provided does not exist in our records. 提供的 Access Key ID不存在

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