調用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 |
加密算法,取值:
|
Plaintext | String | 是 | VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wcyBvdmVyIHRoZSBsYXp5IGRvZy4= |
待加密數據。 使用Base64編碼。例如:待加密數據的十六進制內容為 Plaintext數據大小限制根據Algorithm的取值有所不同,具體如下:
如果需要對超出接口限制的數據進行加密,可以先調用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不存在 |
訪問錯誤中心查看更多錯誤碼。