调用CertificatePublicKeyEncrypt接口使用指定证书加密数据。

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

加密算法和密钥类型对照表如下:

Algorithm

Key Spec

RSAES_OAEP_SHA_1

RSA_2048

RSAES_OAEP_SHA_256

RSA_2048

SM2PKE

EC_SM2

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

调试

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

请求参数

名称 类型 是否必选 示例值 描述
Action String CertificatePublicKeyEncrypt

要执行的操作,取值:CertificatePublicKeyEncrypt。

Algorithm String RSAES_OAEP_SHA_256

加密算法,取值:

  • RSAES_OAEP_SHA_1
  • RSAES_OAEP_SHA_256
  • SM2PKE
    说明 SM2PKE加密算法仅在中国内地使用托管密码机的地域支持。更多信息,请参见 托管密码机概述
CertificateId String 12345678-1234-1234-1234-12345678****

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

Plaintext String VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wcyBvdmVyIHRoZSBsYXp5IGRvZy4=

待加密数据。

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

Plaintext数据大小限制根据Algorithm的取值有所不同,具体如下:

  • RSAES_OAEP_SHA_1:214字节。
  • RSAES_OAEP_SHA_256:190字节。
  • SM2PKE:6047字节。

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

关于公共请求参数的详情,请参见公共参数

返回数据

名称 类型 示例值 描述
CertificateId String 12345678-1234-1234-1234-12345678****

证书ID。

CiphertextBlob String ZOyIygCyaOW6Gj****MlNKiuyjfzw=

加密后的密文。

使用Base64编码。

RequestId String 5979d897-d69f-4fc9-87dd-f3bb73c40b80

请求ID。

示例

请求示例

http(s)://[Endpoint]/?Action=CertificatePublicKeyEncrypt
&Algorithm=RSAES_OAEP_SHA_256
&CertificateId=12345678-1234-1234-1234-12345678****
&Plaintext=VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wcyBvdmVyIHRoZSBsYXp5IGRvZy4=
&<公共请求参数>

正常返回示例

XML格式

<KMS>
        <CertificateId>12345678-1234-1234-1234-12345678****</CertificateId>
        <CiphertextBlob>ZOyIygCyaOW6Gj****MlNKiuyjfzw=</CiphertextBlob>
        <RequestId>5979d897-d69f-4fc9-87dd-f3bb73c40b80</RequestId>
</KMS>

JSON格式

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

错误码

HttpCode 错误码 错误信息 描述
404 Certificate.NotFound The specified certificate is not found. 指定的证书不存在。

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