You need to enable JavaScript to run this app.
导航
GenerateMac - GenerateMac
最近更新时间:2025.01.02 15:12:07首次发布时间:2025.01.02 15:12:07

使用 HMAC KMS 密钥和密钥支持的 MAC 算法为消息生成基于哈希的消息认证码 (HMAC)

调试

请求参数

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

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

GenerateMac

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

Version
String

2021-02-18

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

KeyringName
String

keyringName

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

KeyName
String

keyName

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

KeyID
String

0324d9b3-c5d9-4b6f-94e7-884010a16fee

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

Message
String

testMessage

签名消息。
当MessageType取值为RAW时:如果指定原始签名数据,会使用Algorithm中对应的哈希算法,对原始消息生成摘要,之后再进行签名,取值:[1, 4096]
当MessageType取值为DIGEST时:最大长度为32字节

MacAlgorithm
String

HMAC_SHA_256

MacAlgorithm 算法, 只支持 HMAC_SM3|HMAC_SHA_256

返回参数

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

参数
类型
示例值
描述
KeyID
String

41cb6fdba8ef249312e4ce66f7d6b5b68e565ef84d6333793b5934d6779e847c

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

Mac
String

0324d9b3-c5d9-4b6f-94e7-884010a16fee

message authentication code

请求示例

POST /?Action=GenerateMac&Version=2021-02-18 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": "5Lq65LmL5Yid5oCn5pys5ZaE5oCn55u46L+R5Lmg55u46L+c",
  "MacAlgorithm": "HMAC_SHA_256",
  "KeyringName": "fd65f1d1-9b0c-4254-897f-1965b2",
  "KeyName": "bbbb"
}

返回示例

{
  "ResponseMetadata": {
    "RequestId": "02172956002604000000000000000000000ffff0a7ab9adc81d5f",
    "Action": "GenerateMac",
    "Version": "2021-02-18",
    "Service": "kms",
    "Region": "cn-north-1"
  },
  "Result": {
    "KeyID": "1096b6a5-3bb5-430a-8c5b-65ae1ca73346",
    "Mac": "49NIoYbYAkVv8tT6hoAY+jJ0gZCRQujiv7wc0S763ao="
  }
}

错误码

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

状态码
错误码
错误信息
说明
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.