CertificatePublicKeyEncrypt - 使用X.509数字证书公钥对明文加密

使用指定证书加密数据。

接口说明

使用限制:请求参数中加密算法需要跟密钥类型对应。
加密算法和密钥类型对照表如下:

AlgorithmKey Spec
RSAES_OAEP_SHA_1RSA_2048
RSAES_OAEP_SHA_256RSA_2048
SM2PKEEC_SM2

本文将提供一个示例,使用 ID 为12345678-1234-1234-1234-12345678****的证书,通过RSAES_OAEP_SHA_256加密算法对数据VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wcyBvdmVyIHRoZSBsYXp5IGRvZy4=进行加密。

调试

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

授权信息

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

请求参数

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

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

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

加密算法,取值:

  • RSAES_OAEP_SHA_1

  • RSAES_OAEP_SHA_256

  • SM2PKE

说明 SM2PKE 加密算法仅在中国内地使用托管密码机的地域支持。更多信息,请参见托管密码机概述
RSAES_OAEP_SHA_256
Plaintextstring

待加密数据。
使用 Base64 编码。例如:待加密数据的十六进制内容为[0x31, 0x32, 0x33, 0x34],则对应的 Base64 编码为MTIzNA==
Plaintext 数据大小限制根据 Algorithm 的取值有所不同,具体如下:

  • RSAES_OAEP_SHA_1:214 字节。

  • RSAES_OAEP_SHA_256:190 字节。

  • SM2PKE:6047 字节。

如果需要对超出接口限制的数据进行加密,可以先调用 GenerateDataKey 接口生成数据加密密钥加密数据,再调用 CertificatePublicKeyEncrypt 接口加密数据密钥。

VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wcyBvdmVyIHRoZSBsYXp5IGRvZy4=

返回参数

名称类型描述示例值
object
CiphertextBlobstring

加密后的密文。
使用 Base64 编码。

ZOyIygCyaOW6Gj****MlNKiuyjfzw=
RequestIdstring

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

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

证书 ID。

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

示例

正常返回示例

JSON格式

{
  "CiphertextBlob": "ZOyIygCyaOW6Gj****MlNKiuyjfzw=",
  "RequestId": "5979d897-d69f-4fc9-87dd-f3bb73c40b80",
  "CertificateId": "12345678-1234-1234-1234-12345678****"
}

错误码

HTTP status code错误码错误信息描述
400InvalidParameterThe specified parameter is not valid.参数非法。
404Certificate.NotFoundThe specified certificate is not found.指定的证书不存在。
404InvalidAccessKeyId.NotFoundThe Access Key ID provided does not exist in our records.-

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