接口约束
4.1.6 签名验签
4.1.6.1 签名数据 功能介绍功能介绍
● 功能介绍:使用非对称密钥的私钥对消息或消息摘要进行数字签名。
接口约束
● 仅支持key_usage为SIGN_VERIFY的非对称密钥进行签名操作。
● 使用SM2密钥签名时,仅支持对消息摘要签名。根据GBT32918国家标准,计算 SM2签名值时,消息摘要不是对原始消息直接计算SM3摘要,而是对Z(A)和M的 拼接值计算的摘要,其中M是待签名的原始消息,Z(A)是GBT32918中定义的用户 A的杂凑值。
调试
您可以在API Explorer中调试该接口。
URI
POST /v1.0/{project_id}/kms/sign
表4-400 路径参数
参数 是否必选 参数类型 描述
project_id 是 String 项目ID
请求参数
表4-401 请求 Header 参数
参数 是否必选 参数类型 描述
X-Auth-Token 是 String 用户Token。 通过调用IAM服务 获取用户Token接口获取(响应 消息头中X-Subject-Token的 值)。
表4-402 请求 Body 参数
参数 是否必选 参数类型 描述
key_id 是 String 密钥ID,36字节,满足正则匹
配“^[0-9a-f]{8}-f]{4}-[0-9a- [0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$”。 例如:0d0466b0-
e727-4d9c-b35d-f84bb474a37f。
message 是 String 待签名的消息摘要或者消息,消
息长度要求小于4096字节,使 用Base64编码。
signing_algori
thm 是 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
参数 是否必选 参数类型 描述
message_type 否 String 消息类型,默认为
“DIGEST”,枚举如下:
● DIGEST 表示消息摘要
● RAW 表示消息原文
sequence 否 String 请求消息序列号,36字节序列 号。 例如:
919c82d4-8046-4722-9094-35 c3c6524cff。
响应参数
状态码: 200
表4-403 响应 Body 参数
参数 参数类型 描述
key_id String 密钥ID。
signature String 签名值,使用base64编码。
状态码: 400
表4-404 响应 Body 参数
参数 参数类型 描述
error Object 错误信息返回体。
表4-405 ErrorDetail
参数 参数类型 描述
error_code String 错误请求返回的错误码 error_msg String 错误请求返回的错误信息
状态码: 401
表4-406 响应 Body 参数
参数 参数类型 描述
error Object 错误信息返回体。
表4-407 ErrorDetail
参数 参数类型 描述
error_code String 错误请求返回的错误码 error_msg String 错误请求返回的错误信息
状态码: 403
表4-408 响应 Body 参数
参数 参数类型 描述
error Object 错误信息返回体。
表4-409 ErrorDetail
参数 参数类型 描述
error_code String 错误请求返回的错误码 error_msg String 错误请求返回的错误信息
状态码: 404
表4-410 响应 Body 参数
参数 参数类型 描述
error Object 错误信息返回体。
表4-411 ErrorDetail
参数 参数类型 描述
error_code String 错误请求返回的错误码
状态码: 500
表4-412 响应 Body 参数
参数 参数类型 描述
error Object 错误信息返回体。
表4-413 ErrorDetail
参数 参数类型 描述
error_code String 错误请求返回的错误码 error_msg String 错误请求返回的错误信息
状态码: 502
表4-414 响应 Body 参数
参数 参数类型 描述
error Object 错误信息返回体。
表4-415 ErrorDetail
参数 参数类型 描述
error_code String 错误请求返回的错误码 error_msg String 错误请求返回的错误信息
状态码: 504
表4-416 响应 Body 参数
参数 参数类型 描述
error Object 错误信息返回体。
表4-417 ErrorDetail
参数 参数类型 描述
error_code String 错误请求返回的错误码
参数 参数类型 描述
error_msg String 错误请求返回的错误信息
请求示例
{ "key_id" : "0d0466b0-e727-4d9c-b35d-f84bb474a37f", "signing_algorithm" : "RSASSA_PKCS1_V1_5_SHA_256",
"message" : "MmFiZWE0ZjI3ZGIxYTkzY2RmYmEzM2YwMTA1YmJjYw=="
}
响应示例
状态码: 200 请求已成功
{ "key_id" : "0d0466b0-e727-4d9c-b35d-f84bb474a37f",
"signature" : "jFUqQESGBc0j6k9BozzrP9YL4qk8/W9DZRvK6XXX..."
}
状态码
状态码 描述
200 请求已成功
400 请求参数有误
401 被请求的页面需要用户名和密码
403 认证失败
404 资源不存在,资源未找到 500 服务内部错误
502 请求未完成。服务器从上游服务器收到一个无效的响应
504 网关超时
错误码
请参见错误码。