全部產品
Search
文件中心

:CertificatePublicKeyVerify

更新時間:Jan 22, 2025

調用CertificatePublicKeyVerify介面使用指定認證驗證數位簽章。

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

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=的數位簽章值是否為ZOyIygCyaOW6Gj****MlNKiuyjfzw=

調試

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

請求參數

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

要執行的操作。取值:CertificatePublicKeyVerify

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簽名演算法僅在中國內地使用託管密碼機的地區支援。更多資訊,請參見託管密碼機概述
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
MessageType String RAW

訊息類型。取值:

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

簽名值。

使用Base64編碼。

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

返回資料

名稱 類型 樣本值 描述
RequestId String 5979d897-d69f-4fc9-87dd-f3bb73c40b80

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

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

認證ID。

SignatureValid Boolean true

驗證結果。取值:

  • true:驗證成功。
  • false:驗證失敗。

樣本

請求樣本

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

正常返回樣本

XML格式

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

<CertificatePublicKeyVerifyResponse>
    <RequestId>5979d897-d69f-4fc9-87dd-f3bb73c40b80</RequestId>
    <CertificateId>12345678-1234-1234-1234-12345678****</CertificateId>
    <SignatureValid>true</SignatureValid>
</CertificatePublicKeyVerifyResponse>

JSON格式

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

{
  "RequestId" : "5979d897-d69f-4fc9-87dd-f3bb73c40b80",
  "CertificateId" : "12345678-1234-1234-1234-12345678****",
  "SignatureValid" : true
}

錯誤碼

HttpCode 錯誤碼 錯誤資訊 描述
400 InvalidParameter The specified parameter is not valid. 參數非法。
404 InvalidAccessKeyId.NotFound The specified AccessKey ID does not exist. AccessKey ID不存在。

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