調用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。

CertificateId String 12345678-1234-1234-1234-12345678****

證書ID。證書管家中證書的全局唯一標識符。

Algorithm String RSAES_OAEP_SHA_256

加密算法,取值:

  • RSAES_OAEP_SHA_1
  • RSAES_OAEP_SHA_256
  • SM2PKE
    說明 SM2PKE加密算法僅在中國內地使用托管密碼機的地域支持。更多信息,請參見托管密碼機概述。
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接口加密數據密鑰。

關于公共請求參數的詳情,請參見公共參數。

返回數據

名稱 類型 示例值 描述
CiphertextBlob String ZOyIygCyaOW6Gj****MlNKiuyjfzw=

加密后的密文。

使用Base64編碼。

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

本次調用請求的ID,是由阿里云為該請求生成的唯一標識符,可用于排查和定位問題。

CertificateId String 12345678-1234-1234-1234-12345678****

證書ID。

示例

請求示例

http(s)://[Endpoint]/?Action=CertificatePublicKeyEncrypt
&CertificateId=12345678-1234-1234-1234-12345678****
&Algorithm=RSAES_OAEP_SHA_256
&Plaintext=VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wcyBvdmVyIHRoZSBsYXp5IGRvZy4=
&公共請求參數

正常返回示例

XML格式

HTTP/1.1 200 OK
Content-Type:application/xml

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

JSON格式

HTTP/1.1 200 OK
Content-Type:application/json

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

錯誤碼

HttpCode 錯誤碼 錯誤信息 描述
400 InvalidParameter The specified parameter is not valid. 參數非法。
404 Certificate.NotFound The specified certificate is not found. 指定的證書不存在。
404 InvalidAccessKeyId.NotFound The Access Key ID provided does not exist in our records. 提供的 Access Key ID不存在

訪問錯誤中心查看更多錯誤碼。