全部產品
Search
文件中心

Key Management Service:AsymmetricVerify

更新時間:Jan 23, 2025

調用AsymmetricVerify介面使用非對稱金鑰進行驗簽。

注意事項

  • 非KMS執行個體中的密鑰:進行密碼運算時,僅支援通過阿里雲SDK調用OpenAPI。
  • KMS執行個體中的密鑰:進行密碼運算時,支援如下兩種方式。

QPS限制

本介面的單使用者QPS限制為200次/秒。超過限制,API調用將會被限流,這可能影響您的業務,請合理調用。

詳細說明

僅支援UsageSIGN/VERIFY的非對稱金鑰。支援的簽名演算法如下表:

KeySpec

Algorithm

說明

RSA_2048

RSA_PSS_SHA_256

RSASSA-PSS using SHA-256 and MGF1 with SHA-256

RSA_2048

RSA_PKCS1_SHA_256

RSASSA-PKCS1-v1_5 using SHA-256

RSA_3072

RSA_PSS_SHA_256

RSASSA-PSS using SHA-256 and MGF1 with SHA-256

RSA_3072

RSA_PKCS1_SHA_256

RSASSA-PKCS1-v1_5 using SHA-256

EC_P256

ECDSA_SHA_256

ECDSA on the P-256 Curve(secp256r1) with a SHA-256 digest

EC_P256K

ECDSA_SHA_256

ECDSA on the P-256K Curve(secp256k1) with a SHA-256 digest

EC_SM2

SM2DSA

SM2橢圓曲線數位簽章演算法

說明 按照國家標準GBT32918,計算SM2簽名值時,Digest參數不是對原始訊息直接計算SM3摘要,而是對Z(A)和M的拼接值計算的摘要,其中M是待簽名的原始訊息,Z(A)是GBT32918中定義的使用者A的雜湊值。

本文將提供一個樣本,使用密鑰ID為5c438b18-05be-40ad-b6c2-3be6752c****、密鑰版本ID為2ab1a983-7072-4bbc-a582-584b5bd8****的非對稱金鑰,通過簽名演算法RSA_PSS_SHA_256對摘要資訊ZOyIygCyaOW6GjVnihtTFtIS9PNmskdyMlNKiuyjfzw=產生的簽名值M2CceNZH00ZgL9ED/ZHFp21YRAvYeZHknJUc207OCZ0N9wNn9As4z2bON3FF3je+1Nu+2+/8Zj50HpMTpzYpMp2R93cYmACCmhaYoKydxylbyGzJR8y9likZRCrkD38lRoS40aBBvv/6iRKzQuo9EGYVcel36cMNg00VmYNBy3pa1rwg3gA4l3cy6kjayZja1WGPkVhrVKsrJMdbpl0ApLjXKuD8rw1n1XLCwCUEL5eLPljTZaAveqdOFQOiZnZEGI27qIiZe7I1fN8tcz6anS/gTM7xRKE++5egEvRWlTQQTJeApnPSiUPA+8ZykNdelQsOQh5SrGoyI4A5pq****==進行驗證。

調試

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

請求參數

名稱

類型

是否必選

樣本值

描述

Action String AsymmetricVerify

要執行的操作。取值:AsymmetricVerify

KeyId String 5c438b18-05be-40ad-b6c2-3be6752c****

主要金鑰(CMK)的通用唯一識別碼。

說明 該參數也可以被指定為主要金鑰綁定的別名。更多資訊,請參加見別名使用說明
KeyVersionId String 2ab1a983-7072-4bbc-a582-584b5bd8****

密鑰版本ID。密鑰版本的通用唯一識別碼。

Algorithm String RSA_PSS_SHA_256

簽名演算法。

Digest String ZOyIygCyaOW6GjVnihtTFtIS9PNmskdyMlNKiuy****=

使用Algorithm中對應的雜湊演算法,對原始訊息產生的摘要。

說明 使用Base64編碼。
Value String M2CceNZH00ZgL9ED/ZHFp21YRAvYeZHknJUc207OCZ0N9wNn9As4z2bON3FF3je+1Nu+2+/8Zj50HpMTpzYpMp2R93cYmACCmhaYoKydxylbyGzJR8y9likZRCrkD38lRoS40aBBvv/6iRKzQuo9EGYVcel36cMNg00VmYNBy3pa1rwg3gA4l3cy6kjayZja1WGPkVhrVKsrJMdbpl0ApLjXKuD8rw1n1XLCwCUEL5eLPljTZaAveqdOFQOiZnZEGI27qIiZe7I1fN8tcz6anS/gTM7xRKE++5egEvRWlTQQTJeApnPSiUPA+8ZykNdelQsOQh5SrGoyI4A5pq****==

待驗證的簽名值。

說明 使用Base64編碼。
DryRun String false

是否開啟DryRun模式。

  • true:開啟
  • false(預設值):關閉

DryRun模式用於測試API調用,驗證您是否具有相應資源的許可權,以及請求參數是否配置正確。DryRun模式開啟後,KMS會始終返回失敗並提示失敗原因。失敗原因包含如下:

  • DryRunOperationError:不配置DryRun參數時,請求會成功。
  • ValidationError:請求中指定的參數有誤。
  • AccessDeniedError:您無權在KMS資源上執行該操作。

返回資料

名稱

類型

樣本值

描述

KeyVersionId String 2ab1a983-7072-4bbc-a582-584b5bd8****

對明文資料進行加密的主要金鑰版本號碼。

KeyId String 5c438b18-05be-40ad-b6c2-3be6752c****

主要金鑰的通用唯一識別碼。

說明 如果請求中的KeyId參數使用的是主要金鑰的別名,在響應中會返回別名對應的主要金鑰標識符。
Value Boolean true

簽名驗證是否通過。

RequestId String 475f1620-b9d3-4d35-b5c6-3fbdd941423d

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

樣本

請求樣本

http(s)://[Endpoint]/?Action=AsymmetricVerify
&KeyId=5c438b18-05be-40ad-b6c2-3be6752c****
&KeyVersionId=2ab1a983-7072-4bbc-a582-584b5bd8****
&Algorithm=RSA_PSS_SHA_256
&Digest=ZOyIygCyaOW6GjVnihtTFtIS9PNmskdyMlNKiuy****=
&Value=M2CceNZH00ZgL9ED/ZHFp21YRAvYeZHknJUc207OCZ0N9wNn9As4z2bON3FF3je+1Nu+2+/8Zj50HpMTpzYpMp2R93cYmACCmhaYoKydxylbyGzJR8y9likZRCrkD38lRoS40aBBvv/6iRKzQuo9EGYVcel36cMNg00VmYNBy3pa1rwg3gA4l3cy6kjayZja1WGPkVhrVKsrJMdbpl0ApLjXKuD8rw1n1XLCwCUEL5eLPljTZaAveqdOFQOiZnZEGI27qIiZe7I1fN8tcz6anS/gTM7xRKE++5egEvRWlTQQTJeApnPSiUPA+8ZykNdelQsOQh5SrGoyI4A5pq****==
&DryRun=false
&公用請求參數

正常返回樣本

XML格式

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

<AsymmetricVerifyResponse>
    <KeyVersionId>2ab1a983-7072-4bbc-a582-584b5bd8****</KeyVersionId>
    <KeyId>5c438b18-05be-40ad-b6c2-3be6752c****</KeyId>
    <Value>true</Value>
    <RequestId>475f1620-b9d3-4d35-b5c6-3fbdd941423d</RequestId>
</AsymmetricVerifyResponse>

JSON格式

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

{
  "KeyVersionId" : "2ab1a983-7072-4bbc-a582-584b5bd8****",
  "KeyId" : "5c438b18-05be-40ad-b6c2-3be6752c****",
  "Value" : true,
  "RequestId" : "475f1620-b9d3-4d35-b5c6-3fbdd941423d"
}

錯誤碼

HttpCode

錯誤碼

錯誤資訊

描述

400 InvalidParameter The specified parameter is not valid. 參數非法。
404 Forbidden.AliasNotFound The specified Alias is not found. 指定的別名找不到
404 Forbidden.KeyNotFound The specified Key is not found. 指定的密鑰不存在。

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