調用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 | 簽名演算法。取值:
|
| Message | String | 是 | VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wcyBvdmVyIHRoZSBsYXp5IGRvZy4= | 原始簽名資料。 使用Base64編碼。例如:原始簽名資料的十六進位內容為 當MessageType取值為RAW時,資料內容需小於4KB。 如果待簽名資料內容大於4KB,您可以將MessageType指定為DIGEST,將Message指定為本地計算的訊息摘要(又稱雜湊值)。認證管家將使用您自己的認證應用系統計算訊息摘要,使用的訊息摘要演算法須與指定簽名演算法需要的訊息摘要演算法保持一致。具體如下:
說明 當認證密鑰規格為EC_SM2,並且MessageType為DIGEST時,Message值為GB/T 32918.2-2016 6.1中描述的 e。 |
| MessageType | String | 是 | RAW | 訊息類型。取值:
|
| SignatureValue | String | 是 | ZOyIygCyaOW6Gj****MlNKiuyjfzw= | 簽名值。 使用Base64編碼。 |
關於公用請求參數的詳情,請參見公用參數。
返回資料
| 名稱 | 類型 | 樣本值 | 描述 |
| RequestId | String | 5979d897-d69f-4fc9-87dd-f3bb73c40b80 | 本次調用請求的ID,是由阿里雲為該請求產生的唯一識別碼,可用於排查和定位問題。 |
| CertificateId | String | 12345678-1234-1234-1234-12345678**** | 認證ID。 |
| SignatureValid | Boolean | true | 驗證結果。取值:
|
樣本
請求樣本
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不存在。 |
訪問錯誤中心查看更多錯誤碼。