更新时间:2025-12-26 GMT+08:00

签名数据

功能介绍

  • 功能介绍:使用非对称密钥的私钥对消息或消息摘要进行数字签名。

接口约束

  • 仅支持key_usage为SIGN_VERIFY的非对称密钥进行签名操作。

URI

POST /v1.0/{project_id}/kms/sign

表1 路径参数

参数

是否必选

参数类型

描述

project_id

String

项目ID

请求参数

表2 请求Header参数

参数

是否必选

参数类型

描述

X-Auth-Token

String

用户Token。 通过调用IAM服务获取用户Token接口获取(响应消息头中X-Subject-Token的值)。

Content-Type

String

application/json

表3 请求Body参数

参数

是否必选

参数类型

描述

key_id

String

Key_id内容可使用密钥ID、别名(key_alias)或者URN。

  • 密钥ID:36字节,满足正则匹配“^[0-9a-z]{8}-[0-9a-z]{4}-[0-9a-z]{4}-[0-9a-z]{4}-[0-9a-z]{12}$”。示例:0d0466b0-e727-4d9c-b35d-f84bb474a37f
  • 别名:别名是为用户为密钥设置的简称,是密钥的一种标识。以“alias/”开头。示例:alias/4555。
  • URN:每个别名都会自动匹配一个URN,具有唯一性。示例:kms:eu-de-ring0:3ba44455500dd43127:alias:4555。
    说明:

    “创建密钥别名”时,生成的alias_urn,即为URN。

message

String

待签名的消息摘要或者消息,消息长度要求小于4096字节,使用Base64编码。

signing_algorithm

String

签名算法,枚举如下:

  • RSASSA_PSS_SHA_256
  • RSASSA_PSS_SHA_384
  • RSASSA_PSS_SHA_512
  • RSASSA_PKCS1_V1_5_SHA_256
  • RSASSA_PKCS1_V1_5_SHA_384
  • RSASSA_PKCS1_V1_5_SHA_512
  • ECDSA_SHA_256
  • ECDSA_SHA_384
  • ECDSA_SHA_512

message_type

String

消息类型,默认为“DIGEST”,枚举如下:

  • DIGEST 表示消息摘要
  • RAW 表示消息原文

sequence

String

请求消息序列号,36字节序列号。 例如:919c82d4-8046-4722-9094-35c3c6524cff。

响应参数

状态码: 200

表4 响应Body参数

参数

参数类型

描述

key_id

String

密钥ID。

signature

String

签名值,使用base64编码。

状态码: 400

表5 响应Body参数

参数

参数类型

描述

error

Object

错误信息返回体。

表6 ErrorDetail

参数

参数类型

描述

error_code

String

错误请求返回的错误码

error_msg

String

错误请求返回的错误信息

状态码: 401

表7 响应Body参数

参数

参数类型

描述

error

Object

错误信息返回体。

表8 ErrorDetail

参数

参数类型

描述

error_code

String

错误请求返回的错误码

error_msg

String

错误请求返回的错误信息

状态码: 403

表9 响应Body参数

参数

参数类型

描述

error

Object

错误信息返回体。

表10 ErrorDetail

参数

参数类型

描述

error_code

String

错误请求返回的错误码

error_msg

String

错误请求返回的错误信息

状态码: 404

表11 响应Body参数

参数

参数类型

描述

error

Object

错误信息返回体。

表12 ErrorDetail

参数

参数类型

描述

error_code

String

错误请求返回的错误码

error_msg

String

错误请求返回的错误信息

状态码: 500

表13 响应Body参数

参数

参数类型

描述

error

Object

错误信息返回体。

表14 ErrorDetail

参数

参数类型

描述

error_code

String

错误请求返回的错误码

error_msg

String

错误请求返回的错误信息

状态码: 502

表15 响应Body参数

参数

参数类型

描述

error

Object

错误信息返回体。

表16 ErrorDetail

参数

参数类型

描述

error_code

String

错误请求返回的错误码

error_msg

String

错误请求返回的错误信息

状态码: 504

表17 响应Body参数

参数

参数类型

描述

error

Object

错误信息返回体。

表18 ErrorDetail

参数

参数类型

描述

error_code

String

错误请求返回的错误码

error_msg

String

错误请求返回的错误信息

请求示例

使用签名算法为“RSASSA_PKCS1_V1_5_SHA_256”,对消息类型为“RAW”的消息原文进行签名。

{
 "key_id": "968d6cf0-feb6-42c6-bb30-d69f74f2d5f9",
 "message": "aGVsbG8g",
 "signing_algorithm": "RSASSA_PSS_SHA_256",
 "message_type": "RAW"
}

使用签名算法为“RSASSA_PKCS1_V1_5_SHA_256”,对消息类型为“DIGEST”的消息原文进行签名。

{
 "key_id": "968d6cf0-feb6-42c6-bb30-d69f74f2d5f9",
 "message": "iNQmb9TmM40TuEX88olXnSCciXgjuSF9o+Fhk28DFYK=",
 "signing_algorithm": "RSASSA_PSS_SHA_256",
 "message_type": "DIGEST"
}

响应示例

状态码: 200

使用签名算法为“RSASSA_PKCS1_V1_5_SHA_256”,对消息类型为“RAW”的消息原文进行签名请求已成功。

{
 "key_id": "968d6cf0-feb6-42c6-bb30-d69f74f2d5f9",
 "signature": "BqhL4PFPMNIXyEld3qviF7uqqnqlm9TcVCUN9FTRCr6KGreHIvwE4YuAc+eLWVSCGRd3bQHhDOQ9GlWjixGengwBix1RPP0qxtn2p7kQxkC2j76VjKCwqAsAy4MyxjN8RNOdnVCpOObDGoLxPHxUwNvSqZ6GxQKZ4cHPXVH0r/jH9csgk6IUr6ATyto+IcNWSvD03LfaNRQ+Rvc5tOzNFpFrMnVl319UG9ANscq1ne67VW2uQIf74Osg9DYzbJTf/xqW5GFi3ZoeQUu+gMxwgQp3pkuYhygjw6a8Qy9ZNMHmWnY199SzHrxgIq3ymQzUU5zrikKMColX2goPXf5fxQ=="
}

使用签名算法为“RSASSA_PKCS1_V1_5_SHA_256”,对消息类型为“DIGEST”的消息原文进行签名请求已成功。

{
 "key_id": "968d6cf0-feb6-42c6-bb30-d69f74f2d5f9",
 "signature": "M8Gqrm7EyyCPckMs90D7IOlUPCMHhoBh+nz9ySvdbOi7JMrl0ei+2lb+CQ2ZJN+pu7mftotq7/sHt0wWsDl8IOywYSBtWEmLW6AHnEPMykG/A9/Dp3kRuuKFoouCzWXeZyhIrzRUunAK5j5njcY/yTf6T8M+zBy1nAApb8WcHUen9/j7+X348iOnsSuWNVfXxy3NX41v9kLn6x115UDA/798VLSoMbsjcXKgdf/3GoZRYjcHxiX6s71/RWsQYme68qQN2B0q8Y9lk6rQxrw/AXHFoeaphYb7PriURRx0GxhOEEHb/9Tcr39Zlh3bbl/2aF3ytJORWIqatLtqgJ4uEA=="
}

状态码

状态码

描述

200

请求已成功

400

请求参数有误

401

被请求的页面需要用户名和密码

403

认证失败

404

资源不存在,资源未找到

500

服务内部错误

502

请求未完成。服务器从上游服务器收到一个无效的响应

504

网关超时