You need to enable JavaScript to run this app.
导航
AsymmetricVerify - 非对称密钥签名验证
最近更新时间:2024.12.17 17:59:00首次发布时间:2024.08.29 17:28:27

非对称密钥签名验证

调试

请求参数

下表仅列出该接口特有的请求参数和部分公共参数。更多信息请见公共参数

参数
类型
是否必填
示例值
描述
Action
String

AsymmetricVerify

要执行的操作,取值:AsymmetricVerify。

Version
String

2021-02-18

API的版本,取值:2021-02-18。

KeyringName
String

keyring-test

密钥环名称,长度为 2 - 31 个字符。合法字符:[a-zA-Z0-9-_]

KeyName
String

key-test

主密钥名称,长度为 2 - 31 个字符。合法字符:[a-zA-Z0-9-_]

KeyID
String

39a0e7c6-b7dd-4c83-b400-3449bb95403a

主密钥ID,二选一:
KeyringName 和 KeyName
KeyID

Message
String

MessageToBeSigned=

验签消息,Base64编码。
当MessageType取值为RAW时:如果指定原始签名数据,会使用Algorithm中对应的哈希算法,对原始消息生成摘要,之后再进行签名,取值:[1, 4096]
当MessageType取值为DIGEST时:
且当Algorithm为RSA_PSS_SHA_256或RSA_PKCS1_SHA_256或ECDSA_SHA_256或SM2_DSA时,Message长度为32字节;
且当Algorithm为RSA_PSS_SHA_384或RSA_PKCS1_SHA_384或ECDSA_SHA_384时,Message长度为48字节;
且当Algorithm为RSA_PSS_SHA_512或RSA_PKCS1_SHA_512或ECDSA_SHA_512时,Message长度为64字节。

MessageType
String

RAW

消息类型,取值:
RAW(默认值):原始数据
DIGEST:原始数据的消息摘要。KMS不会对原始数据的消息摘要进行数据处理,将直接使用私钥进行签名

Algorithm
String

RSA_PSS_SHA_256

签名算法,如下枚举之一
RSA_PSS_SHA_256
RSA_PKCS1_SHA_256
RSA_PSS_SHA_384
RSA_PKCS1_SHA_384
RSA_PSS_SHA_512
RSA_PKCS1_SHA_512
ECDSA_SHA_256
ECDSA_SHA_384
ECDSA_SHA_512
SM2_DSA
注意:签名算法需要与Sign接口使用的算法保持一致
签名算法和密钥类型,对应关系

Signature
String

OuodVCE1zYpDFg1QvgOHtVQxkQWhfpE8i8NibiJ1pL8ILgAE+TogQZuIglAoo=

待验证的签名值,Base64编码,取值:[1, 6144]

返回参数

下表仅列出本接口特有的返回参数。更多信息请参见返回结构

参数
类型
示例值
描述
KeyID
String

39a0e7c6-b7dd-4c83-b400-3449bb95403a

主密钥唯一标识符,UUID形式

SignatureValid
Boolean

true

签名验证是否通过,取值:
true:签名验证通过
false:签名验证未通过

请求示例

POST /?Action=AsymmetricVerify&Version=2021-02-18&KeyringName=demo&KeyName=demo&MessageType=RAW&Algorithm=RSA_PSS_SHA_256 HTTP/1.1
Host: kms.volcengineapi.com
Content-Type: application/json; charset=UTF-8
X-Date: 20240708T151941Z
X-Content-Sha256: 287e874e******d653b44d21e
Authorization: HMAC-SHA256 Credential=Adfks******wekfwe/20240708/cn-beijing/kms/request, SignedHeaders=host;x-content-sha256;x-date, Signature=47a7d934ff7b37c03938******cd7b8278a40a1057690c401e92246a0e41085f

{
  "Message": "MessageToBeSigned=",
  "Signature": "OuodVCE1zYpDFg1QvgOHtVQxkQWhfpE8i8NibiJ1pL8ILgAE+TogQZuIglAoo="
}

返回示例

{
  "ResponseMetadata": {
    "RequestId": "202407082320461811522081854EB0A8",
    "Action": "AsymmetricVerify",
    "Version": "2021-02-18",
    "Service": "kms",
    "Region": "cn-beijing"
  },
  "Result": {
    "KeyID": "39a0e7c6-b7dd-4c83-b400-3449bb95403a",
    "SignatureValid": "true"
  }
}

错误码

下表为您列举了该接口与业务逻辑相关的错误码。公共错误码请参见公共错误码文档。

状态码
错误码
错误信息
说明
400
MissingParameter
The request is missing %s parameter.
400
InvalidParameter
The request parameter %s is invalid.
400
InvalidKeyStatus
Current key status: %s does not allow to perform this action
400
InvalidKeyUsage
Current key usage only allows: %s. Please use different keys for encryption/decryption and signing/verification.
403
AccessDenied
User is not authorized to do this action
403
Reject.Throttling.CMK
The request of CMK: %s upper limit is exceeded.
404
Not Found
Not found %s [%s].
500
UndefinedError
Undefined Internal Error. Pls Contact With Admin.