Encrypt
調(diào)用Encrypt接口將明文加密為密文。
使用說明
Encrypt和AdvanceEncrypt都用于將明文數(shù)據(jù)加密為密文,區(qū)別為:
Encrypt:加密時(shí)使用密鑰的初始版本,加密后可以使用Decrypt或AdvanceDecrypt解密。
AdvanceEncrypt:加密時(shí)使用密鑰的主版本,加密后需要使用AdvanceDecrypt解密。但目前僅KMS軟件密鑰管理實(shí)例中的對(duì)稱密鑰支持使用該接口。
如果您使用KMS軟件密鑰管理實(shí)例中的對(duì)稱密鑰,且密鑰開啟了自動(dòng)輪轉(zhuǎn),加密時(shí)請(qǐng)使用AdvanceEncrypt,以避免輪轉(zhuǎn)功能不生效。關(guān)于密鑰輪轉(zhuǎn)的相關(guān)內(nèi)容,請(qǐng)參見密鑰輪轉(zhuǎn)。
關(guān)于密鑰規(guī)格、加密模式以及密鑰版本的詳細(xì)信息,請(qǐng)參見密鑰管理類型和密鑰規(guī)格。
注意事項(xiàng)
所有請(qǐng)求參數(shù)使用Protocol Buffers編碼后(即Request Body),內(nèi)容長(zhǎng)度不能超過3 MB,超過3 MB后服務(wù)端會(huì)拒絕處理并返回HTTP 413狀態(tài)碼。建議單次使用對(duì)稱密鑰加解密的數(shù)據(jù)不超過6 KB,單次使用非對(duì)稱密鑰加解密的數(shù)據(jù)不超過1 KB,超過后請(qǐng)使用信封加密方案。詳細(xì)信息,請(qǐng)參見使用KMS密鑰進(jìn)行信封加密。
單次加解密的數(shù)據(jù)量越大,網(wǎng)絡(luò)傳輸失敗可能性越大,網(wǎng)絡(luò)傳輸所需時(shí)間越長(zhǎng),KMS實(shí)例對(duì)數(shù)據(jù)進(jìn)行加解密所需時(shí)間也越長(zhǎng)。
請(qǐng)求參數(shù)
名稱 | 類型 | 是否必選 | 示例值 | 描述 |
KeyId | string | 是 | key-hzz62f1cb66fa42qo**** | 密鑰的全局唯一標(biāo)識(shí)符。該參數(shù)也可以被指定為密鑰別名。 |
Plaintext | bytes | 是 | 二進(jìn)制數(shù)據(jù) | 待加密的明文數(shù)據(jù)。 |
Algorithm | string | 否 | AES_GCM | 加密算法。 如果未指定本參數(shù),KMS會(huì)使用加密算法默認(rèn)值。更多信息,請(qǐng)參見密鑰管理類型和密鑰規(guī)格。 |
Iv | bytes | 否 | 二進(jìn)制數(shù)據(jù) | 對(duì)數(shù)據(jù)加密時(shí)使用的初始向量。 僅當(dāng)加密算法(Algorithm參數(shù))為AES_GCM、AES_CBC或SM4_GCM時(shí)本參數(shù)有效。
如果未指定本參數(shù),KMS將隨機(jī)生成。 重要 推薦您不指定本參數(shù),由KMS隨機(jī)生成。 |
Aad | binary | 否 | 二進(jìn)制數(shù)據(jù) | 對(duì)數(shù)據(jù)加密時(shí)使用的GCM加密模式認(rèn)證數(shù)據(jù)。 當(dāng)密鑰是對(duì)稱密鑰、加密算法(Algorithm)是AES_GCM或SM4_GCM時(shí),您可以按需要使用本參數(shù)。 重要 如果指定了本參數(shù),調(diào)用Decrypt解密時(shí)需要指定相同的參數(shù)。 |
PaddingMode | string | 否 | PKCS7_PADDING | 填充模式。 僅當(dāng)加密算法為AES_CBC或AES_ECB時(shí),需要提供本參數(shù)。 取值:
|
響應(yīng)數(shù)據(jù)
名稱 | 類型 | 示例值 | 描述 |
Iv | bytes | 二進(jìn)制數(shù)據(jù) | 加密數(shù)據(jù)時(shí)使用的初始向量。 僅當(dāng)加密算法(Algorithm參數(shù))為AES_GCM、AES_CBC或SM4_GCM時(shí),本參數(shù)返回有效值,其他場(chǎng)景返回空值。 |
CiphertextBlob | bytes | 二進(jìn)制數(shù)據(jù) | 數(shù)據(jù)被指定密鑰加密后的密文。 說明 當(dāng)采用ECIES算法時(shí),返回的密文格式遵循SEC 1: Elliptic Curve Cryptography, Version 2.0標(biāo)準(zhǔn)。 |
KeyId | string | key-hzz62f1cb66fa42qo**** | 密鑰的全局唯一標(biāo)識(shí)符。如果請(qǐng)求中的KeyId參數(shù)使用的是密鑰別名,在響應(yīng)中會(huì)返回別名對(duì)應(yīng)的密鑰的全局唯一標(biāo)識(shí)符。 |
Algorithm | string | AES_GCM | 加密算法。 |
PaddingMode | string | PKCS7_PADDING | 填充模式。僅當(dāng)加密算法(Algorithm參數(shù))為AES_CBC或AES_ECB時(shí),本參數(shù)返回有效值,其他場(chǎng)景返回空值。 |
RequestId | string | 475f1620-b9d3-4d35-b5c6-3fbdd941423d | 本次調(diào)用請(qǐng)求的ID,是由阿里云為該請(qǐng)求生成的唯一標(biāo)識(shí)符,可用于排查和定位問題。 |
錯(cuò)誤碼
訪問公共錯(cuò)誤碼查看更多錯(cuò)誤碼。