更新时间:2023-05-09 GMT+08:00

验证签名

功能介绍

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

接口约束

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

  • 使用SM2密钥签名时,仅支持对消息摘要签名。根据GBT32918国家标准,计算SM2签名值时,消息摘要不是对原始消息直接计算SM3摘要,而是对Z(A)和M的拼接值计算的摘要,其中M是待签名的原始消息,Z(A)是GBT32918中定义的用户A的杂凑值。

调试

您可以在API Explorer中调试该接口,支持自动认证鉴权。API Explorer可以自动生成SDK代码示例,并提供SDK代码示例调试功能。

URI

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

表1 路径参数

参数

是否必选

参数类型

描述

project_id

String

项目ID

请求参数

表2 请求Header参数

参数

是否必选

参数类型

描述

X-Auth-Token

String

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

表3 请求Body参数

参数

是否必选

参数类型

描述

key_id

String

密钥ID,36字节,满足正则匹配“^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$”。 例如:0d0466b0-e727-4d9c-b35d-f84bb474a37f。

message

String

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

signature

String

待验证的签名值,使用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

  • SM2DSA_SM3

message_type

String

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

  • DIGEST 表示消息摘要

  • RAW 表示消息原文

sequence

String

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

响应参数

状态码: 200

表4 响应Body参数

参数

参数类型

描述

key_id

String

密钥ID。

signature_valid

String

签名验证合法性,“true”表示验证签名合法,“false”表示验证签名非法。

状态码: 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

错误请求返回的错误信息

请求示例

{
  "key_id" : "0d0466b0-e727-4d9c-b35d-f84bb474a37f",
  "signing_algorithm" : "RSASSA_PKCS1_V1_5_SHA_256",
  "signature" : "jFUqQESGBc0j6k9BozzrP9YL4qk8/W9DZRvK6XXX...",
  "message" : "MmFiZWE0ZjI3ZGIxYTkzY2RmYmEzM2YwMTA1YmJjYw=="
}

响应示例

状态码: 200

请求已成功

{
  "key_id" : "0d0466b0-e727-4d9c-b35d-f84bb474a37f",
  "signature_valid" : "true"
}

状态码

状态码

描述

200

请求已成功

400

请求参数有误

401

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

403

认证失败

404

资源不存在,资源未找到

500

服务内部错误

502

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

504

网关超时

错误码

请参见错误码