CertificatePublicKeyVerify - 使用X.509数字证书公钥验证消息

使用指定证书验证数字签名。

接口说明

请求参数中签名算法需要跟密钥类型对应。签名算法和密钥类型对照表如下:

AlgorithmKey Spec
RSA_PKCS1_SHA_256RSA_2048
RSA_PSS_SHA_256RSA_2048
ECDSA_SHA_256EC_P256
SM2DSAEC_SM2

本文将提供一个示例,使用 ID 为12345678-1234-1234-1234-12345678****的证书,通过ECDSA_SHA_256签名算法验证原始数据签名VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wcyBvdmVyIHRoZSBsYXp5IGRvZy4=的数字签名值是否为ZOyIygCyaOW6Gj****MlNKiuyjfzw=

调试

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

授权信息

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

请求参数

名称类型必填描述示例值
CertificateIdstring

证书 ID。证书管家中证书的全局唯一标识符。

12345678-1234-1234-1234-12345678****
Algorithmstring

签名算法。取值:

  • RSA_PKCS1_SHA_256

  • RSA_PSS_SHA_256

  • ECDSA_SHA_256

  • SM2DSA

说明 SM2DSA 签名算法仅在中国内地使用托管密码机的地域支持。更多信息,请参见托管密码机概述
ECDSA_SHA_256
Messagestring

原始签名数据。

使用 Base64 编码。例如:原始签名数据的十六进制内容为[0x31, 0x32, 0x33, 0x34],则对应的 Base64 编码为MTIzNA==

当 MessageType 取值为 RAW 时,数据内容需小于 4KB。

如果待签名数据内容大于 4KB,您可以将 MessageType 指定为 DIGEST,将 Message 指定为本地计算的消息摘要(又称哈希值)。证书管家将使用您自己的证书应用系统计算消息摘要,使用的消息摘要算法须与指定签名算法需要的消息摘要算法保持一致。具体如下:

  • RSA_PKCS1_SHA_256、RSA_PSS_SHA_256 和 ECDSA_SHA_256 对应的消息摘要算法为 SHA-256。

  • SM2DSA 对应的消息摘要算法为 SM3。

说明 当证书密钥规格为 EC_SM2,并且 MessageType 为 DIGEST 时,Message 值为 GB/T 32918.2-2016 6.1 中描述的e
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wcyBvdmVyIHRoZSBsYXp5IGRvZy4=
MessageTypestring

消息类型。取值:

  • RAW(默认值):原始数据。

  • DIGEST:原始数据的消息摘要(哈希值)。

RAW
SignatureValuestring

签名值。
使用 Base64 编码。

ZOyIygCyaOW6Gj****MlNKiuyjfzw=

返回参数

名称类型描述示例值
object
RequestIdstring

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

5979d897-d69f-4fc9-87dd-f3bb73c40b80
CertificateIdstring

证书 ID。

12345678-1234-1234-1234-12345678****
SignatureValidboolean

验证结果。取值:

  • true:验证成功。

  • false:验证失败。

true

示例

正常返回示例

JSON格式

{
  "RequestId": "5979d897-d69f-4fc9-87dd-f3bb73c40b80",
  "CertificateId": "12345678-1234-1234-1234-12345678****",
  "SignatureValid": true
}

错误码

HTTP status code错误码错误信息描述
400InvalidParameterThe specified parameter is not valid.参数非法。
404InvalidAccessKeyId.NotFoundThe specified AccessKey ID does not exist.AccessKey ID找不到。请检查调用时是否使用了正确的AccessKey。

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