You need to enable JavaScript to run this app.
文档中心
密钥管理系统

密钥管理系统

复制全文
下载 pdf
密钥管理
AsymmetricSign - 非对称密钥签名
复制全文
下载 pdf
AsymmetricSign - 非对称密钥签名

调用本接口使用指定的非对称密钥和签名算法,对消息或消息摘要进行签名。

调试

请求参数

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

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

AsymmetricSign

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

Version
String
是

2021-02-18

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

KeyringName
String
否

keyring-test

密钥环名称,长度为 2 - 31 个字符。合法字符:[a-zA-Z0-9-_]。可通过 CreateKeyring 创建密钥环时指定,或通过 DescribeKeyrings、QueryKeyring 查询获取。当不指定 KeyID 时,必须与 KeyName 同时传入;与 KeyID 二选一。

KeyName
String
否

key-test

主密钥名称,长度为 2 - 31 个字符。合法字符:[a-zA-Z0-9-_]。可通过 CreateKey 创建密钥时指定,或通过 DescribeKeys、DescribeKey 查询获取。当不指定 KeyID 时,必须与 KeyringName 同时传入;与 KeyID 二选一。

KeyID
String
否

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

主密钥 ID,UUID 形式。可通过 CreateKey 创建密钥时返回,或通过 DescribeKeys、DescribeKey 查询获取。KeyID 与 KeyringName + KeyName 二选一;传入 KeyID 时无需传入 KeyringName 和 KeyName;未传入 KeyID 时,必须同时传入 KeyringName 和 KeyName。

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(RSA 签名算法);ECDSA_SHA_256、ECDSA_SHA_384、ECDSA_SHA_512(ECDSA 签名算法);SM2_DSA(SM2 签名算法)。验签时需与签名时使用的算法一致。

返回参数

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

参数
类型
示例值
描述
KeyID
String

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

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

Signature
String

OuodVCE1zYpDFg1QvgOHtVQxkQWhfpE8i8NibiJ1pL8ILgAE+TogQZuIglAoo=

数据签名,Base64编码

请求示例

POST /?Action=AsymmetricSign&Version=2021-02-18&KeyringName=demo&KeyName=demo&MessageType=RAW&Algorithm=RSA_PSS_SHA_256 HTTP/1.1
Host: kms.cn-beijing.volcengineapi.com
Content-Type: application/json; charset=UTF-8
X-Date: 20240708T150011Z
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="
}

返回示例

{
  "ResponseMetadata": {
    "RequestId": "202407082300591051190940398C67B7",
    "Action": "AsymmetricSign",
    "Version": "2021-02-18",
    "Service": "kms",
    "Region": "cn-beijing"
  },
  "Result": {
    "KeyID": "39a0e7c6-b7dd-4c83-b400-3449bb95403a",
    "Signature": "OuodVCE1zYpDFg1QvgOHtVQxkQWhfpE8i8NibiJ1pL8ILgAE+TogQZuIglAoo="
  }
}

错误码

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

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

当前账号或子账号缺少执行该操作所需权限,请检查 IAM 授权策略。

403
Reject.Throttling.CMK

The request of CMK: %s upper limit is exceeded.

指定主密钥的请求频率超过限制,请降低该密钥相关请求速率后重试。

403
KeyMaterialExpire

Key expire in, %s

密钥材料已过期或不可用,请重新导入有效密钥材料后重试。

403
KMS_ServiceNotOpen

KMS service not open yet, please open the service and try again later.

KMS 服务尚未开通,请先在控制台开通服务后重试。

404
Not Found

Not found %s [%s].

指定资源不存在或当前账号无权访问,请检查资源 ID、名称和地域是否正确。

500
UndefinedError

Undefined Internal Error. Pls Contact With Admin.

服务内部错误,请稍后重试;如持续出现,请联系技术支持。

最近更新时间:2026.09.03 18:00:30
这个页面对您有帮助吗?
有用
有用
无用
无用