AsymmetricSign - 使用非对称密钥进行签名

使用非对称密钥进行签名。

接口说明

注意事项

  • RAM 用户或 RAM 角色调用该 OpenAPI 需要被授予的权限策略详情,请参见访问控制

  • 本接口可以通过共享网关或专属网关调用。详细介绍,请参见阿里云 SDK

    • 共享网关:通过公网、VPC 域名访问 KMS,该方式需要打开公网开关。具体操作,请参见通过公网访问 KMS 实例中的密钥

    • 专属网关:通过 KMS 私网地址(<YOUR_KMS_INSTANCE_ID>.cryptoservice.kms.aliyuncs.com)访问 KMS。

QPS 限制

  • 通过共享网关调用:本接口的单用户 QPS 限制为 200 次/秒。超过限制,API 调用将会被限流,这可能影响您的业务,请合理调用。

  • 通过专属网关调用:本接口的单用户 QPS 限制以您 KMS 实例的计算性能规格为准。详细介绍,请参见性能数据

详细说明

仅支持 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 椭圆曲线数字签名算法

说明

按照国家标准 GB/T 32918.2《信息安全技术 SM2 椭圆曲线公钥密码算法 第 2 部分:数字签名算法》,计算 SM2 签名值时,Digest 参数不是对原始消息直接计算 SM3 摘要,而是对 Z(A)和 M 的拼接值计算的摘要,其中 M 是待签名的原始消息,Z(A)是 GB/T 32918.2 中定义的用户 A 的杂凑值。

本文将提供一个示例,使用密钥 ID 为5c438b18-05be-40ad-b6c2-3be6752c****、密钥版本 ID 为2ab1a983-7072-4bbc-a582-584b5bd8****的非对称密钥,通过签名算法RSA_PSS_SHA_256对摘要信息ZOyIygCyaOW6GjVnihtTFtIS9PNmskdyMlNKiuy****=进行签名。

调试

您可以在OpenAPI Explorer中直接运行该接口,免去您计算签名的困扰。运行成功后,OpenAPI Explorer可以自动生成SDK代码示例。

调试

授权信息

当前API暂无授权信息透出。

请求参数

名称

类型

必填

描述

示例值

KeyId

string

主密钥(CMK)的全局唯一标识符。

说明

该参数也可以被指定为主密钥绑定的别名。更多信息,请参见别名使用说明

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

KeyVersionId

string

密钥版本 ID。密钥版本的全局唯一标识符。

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

Algorithm

string

签名算法。

RSA_PSS_SHA_256

Digest

string

使用 Algorithm 中对应的哈希算法,对原始消息生成的摘要。

说明
  • 使用 Base64 编码。

  • 关于如何计算消息摘要,请参见非对称数字签名签名预处理:计算消息摘要章节。

ZOyIygCyaOW6GjVnihtTFtIS9PNmskdyMlNKiu****=

DryRun

string

是否开启 DryRun 模式。

  • true:开启

  • false(默认值):关闭

DryRun 模式用于测试 API 调用,验证您是否具有相应资源的权限,以及请求参数是否配置正确。DryRun 模式开启后,KMS 会始终返回失败并提示失败原因。失败原因包含如下:

  • DryRunOperationError:不配置 DryRun 参数时,请求会成功。

  • ValidationError:请求中指定的参数有误。

  • AccessDeniedError:您无权在 KMS 资源上执行该操作。

false

返回参数

名称

类型

描述

示例值

object

KeyVersionId

string

密钥版本 ID。密钥版本的全局唯一标识符。

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

KeyId

string

主密钥的全局唯一标识符。

说明

如果请求中的 KeyId 参数使用的是主密钥的别名,在响应中会返回别名对应的主密钥标识符。

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

Value

string

计算出来的签名。

说明

使用 Base64 编码。

M2CceNZH00ZgL9ED/ZHFp21YRAvYeZHknJUc207OCZ0N9wNn9As4z2bON3FF3je+1Nu+2+/8Zj50HpMTpzYpMp2R93cYmACCmhaYoKydxylbyGzJR8y9likZRCrkD38lRoS40aBBvv/6iRKzQuo9EGYVcel36cMNg00VmYNBy3pa1rwg3gA4l3cy6kjayZja1WGPkVhrVKsrJMdbpl0ApLjXKuD8rw1n1XLCwCUEL5eLPljTZaAveqdOFQOiZnZEGI27qIiZe7I1fN8tcz6anS/gTM7xRKE++5egEvRWlTQQTJeApnPSiUPA+8ZykNdelQsOQh5SrGoyI4A5pq****==

RequestId

string

本次调用请求的 ID,是由阿里云为该请求生成的唯一标识符,可用于排查和定位问题。

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

示例

正常返回示例

JSON格式

{
  "KeyVersionId": "2ab1a983-7072-4bbc-a582-584b5bd8****",
  "KeyId": "5c438b18-05be-40ad-b6c2-3be6752c****",
  "Value": "M2CceNZH00ZgL9ED/ZHFp21YRAvYeZHknJUc207OCZ0N9wNn9As4z2bON3FF3je+1Nu+2+/8Zj50HpMTpzYpMp2R93cYmACCmhaYoKydxylbyGzJR8y9likZRCrkD38lRoS40aBBvv/6iRKzQuo9EGYVcel36cMNg00VmYNBy3pa1rwg3gA4l3cy6kjayZja1WGPkVhrVKsrJMdbpl0ApLjXKuD8rw1n1XLCwCUEL5eLPljTZaAveqdOFQOiZnZEGI27qIiZe7I1fN8tcz6anS/gTM7xRKE++5egEvRWlTQQTJeApnPSiUPA+8ZykNdelQsOQh5SrGoyI4A5pq****==",
  "RequestId": "475f1620-b9d3-4d35-b5c6-3fbdd941423d"
}

错误码

HTTP status code

错误码

错误信息

描述

400 InvalidParameter The specified parameter is not valid. 参数非法。
404 InvalidAccessKeyId.NotFound The Access Key ID provided does not exist in our records.
404 Forbidden.KeyNotFound The specified Key is not found. 指定的密钥不存在。
404 Forbidden.AliasNotFound The specified Alias is not found. 指定的别名找不到

访问错误中心查看更多错误码。

变更历史

更多信息,参考变更详情