签名数据
功能介绍
- 功能介绍:使用非对称密钥的私钥对消息或消息摘要进行数字签名。
接口约束
- 仅支持key_usage为SIGN_VERIFY的非对称密钥进行签名操作。
URI
POST /v1.0/{project_id}/kms/sign
| 参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
| project_id | 是 | String | 项目ID |
请求参数
| 参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
| X-Auth-Token | 是 | String | 用户Token。 通过调用IAM服务获取用户Token接口获取(响应消息头中X-Subject-Token的值)。 |
| Content-Type | 是 | String | application/json |
| 参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
| key_id | 是 | String | Key_id内容可使用密钥ID、别名(key_alias)或者URN。
|
| message | 是 | String | 待签名的消息摘要或者消息,消息长度要求小于4096字节,使用Base64编码。 |
| signing_algorithm | 是 | String | 签名算法,枚举如下:
|
| message_type | 否 | String | 消息类型,默认为“DIGEST”,枚举如下:
|
| sequence | 否 | String | 请求消息序列号,36字节序列号。 例如:919c82d4-8046-4722-9094-35c3c6524cff。 |
响应参数
状态码: 200
| 参数 | 参数类型 | 描述 |
|---|---|---|
| key_id | String | 密钥ID。 |
| signature | String | 签名值,使用base64编码。 |
状态码: 400
| 参数 | 参数类型 | 描述 |
|---|---|---|
| error | Object | 错误信息返回体。 |
| 参数 | 参数类型 | 描述 |
|---|---|---|
| error_code | String | 错误请求返回的错误码 |
| error_msg | String | 错误请求返回的错误信息 |
状态码: 401
| 参数 | 参数类型 | 描述 |
|---|---|---|
| error | Object | 错误信息返回体。 |
| 参数 | 参数类型 | 描述 |
|---|---|---|
| error_code | String | 错误请求返回的错误码 |
| error_msg | String | 错误请求返回的错误信息 |
状态码: 403
| 参数 | 参数类型 | 描述 |
|---|---|---|
| error | Object | 错误信息返回体。 |
| 参数 | 参数类型 | 描述 |
|---|---|---|
| error_code | String | 错误请求返回的错误码 |
| error_msg | String | 错误请求返回的错误信息 |
状态码: 404
| 参数 | 参数类型 | 描述 |
|---|---|---|
| error | Object | 错误信息返回体。 |
| 参数 | 参数类型 | 描述 |
|---|---|---|
| error_code | String | 错误请求返回的错误码 |
| error_msg | String | 错误请求返回的错误信息 |
状态码: 500
| 参数 | 参数类型 | 描述 |
|---|---|---|
| error | Object | 错误信息返回体。 |
| 参数 | 参数类型 | 描述 |
|---|---|---|
| error_code | String | 错误请求返回的错误码 |
| error_msg | String | 错误请求返回的错误信息 |
状态码: 502
| 参数 | 参数类型 | 描述 |
|---|---|---|
| error | Object | 错误信息返回体。 |
| 参数 | 参数类型 | 描述 |
|---|---|---|
| error_code | String | 错误请求返回的错误码 |
| error_msg | String | 错误请求返回的错误信息 |
状态码: 504
| 参数 | 参数类型 | 描述 |
|---|---|---|
| error | Object | 错误信息返回体。 |
| 参数 | 参数类型 | 描述 |
|---|---|---|
| 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 | 网关超时 |