全部產品
Search
文件中心

Key Management Service:AdvanceDecrypt

更新時間:Jul 06, 2024

將使用KMS祕密金鑰加密的密文解密為明文。

使用說明

當您調用AdvanceEncryptAdvanceGenerateDataKeyEncryptGenerateDataKey,並使用KMS軟體密鑰管理執行個體中的對稱金鑰進行加密時,支援通過本介面解密。

關於密鑰規格以及加密模式的詳細資料,請參見密鑰管理類型和密鑰規格

注意事項

所有請求參數使用Protocol Buffers編碼後(即Request Body),內容長度不能超過3 MB,超過3 MB後服務端會拒絕處理並返回HTTP 413狀態代碼。建議單次加解密的資料不超過6 KB,超過6 KB時請使用信封加密方案。詳細資料,請參見使用KMS密鑰進行信封加密

說明

單次加解密的資料量越大,網路傳輸失敗可能性越大,網路傳輸所需時間越長,KMS執行個體對資料進行加解密所需時間也越長。

請求參數

名稱

類型

是否必選

樣本值

描述

CiphertextBlob

bytes

位元據

待解密的密文。

KeyId

string

key-hzz62f1cb66fa42qo****

密鑰的通用唯一識別碼。該參數也可以被指定為密鑰別名。

僅當解密Encrypt或者GenerateDataKey產生的密文時需要指定本參數。

Algorithm

string

AES_GCM

解密演算法。

僅當解密Encrypt或者GenerateDataKey產生的密文時需要指定本參數。

重要

必須與加密時使用的演算法(Algorithm)相同。

Iv

bytes

位元據

初始向量。

僅當解密Encrypt或者GenerateDataKey產生的密文,且解密演算法(Algorithm)為AES_GCM、AES_CBC時,需要指定本參數。

  • 解密演算法(Algorithm)為AES_CBC時:Iv長度為16位元組。

  • 解密演算法(Algorithm)為AES_GCM時:Iv長度為12位元組。

重要

必須與加密時使用的初始向量(Iv)相同。

Aad

bytes

位元據

認證資料。長度不超過8192位元組。

僅當解密演算法(Algorithm)是AES_GCM且加密時指定了認證資料(Aad)時,需要指定本參數。

重要

必須與加密時使用的認證資料(Aad)相同。

PaddingMode

string

PKCS7_PADDING

填充模式。

僅當密碼編譯演算法為AES_CBC或AES_ECB時,需要指定本參數。

重要

必須與加密時使用的填充模式(PaddingMode)相同。

取值:

  • PKCS7_PADDING(預設值):即PKCS#7填充。資料明文內容的長度可以不是相應密碼演算法的塊大小(K位元組)的整數倍。

    當輸入資料明文內容長度為L位元組時,系統將填充K -(L mod K)位元組的內容,填充的每個位元組均為K -(L mod K)。

  • NO_PADDING:不對資料明文填充。資料明文內容的長度必須為相應密碼演算法的塊大小的整數倍。

響應資料

名稱

類型

樣本值

描述

Plaintext

bytes

位元據

解密後的明文。

KeyId

string

key-hzz62f1cb66fa42qo****

密鑰的通用唯一識別碼。如果請求中的KeyId參數使用的是密鑰別名,在響應中會返回別名對應的密鑰的通用唯一識別碼。

KeyVersionId

string

key-hzz62f1cb66fa42qo****-17kedv****

解密密文的密鑰版本標誌符。

Algorithm

string

AES_GCM

解密演算法。

PaddingMode

string

PKCS7_PADDING

填充模式。

僅當密碼編譯演算法(Algorithm)為AES_CBC或AES_ECB時,本參數返回有效值,其他情況返回空值。

RequestId

string

c0037a6d-7784-4ef2-a692-288fdcbc7b9d

本次調用請求的ID,是由阿里雲為該請求產生的唯一識別碼,可用於排查和定位問題。

錯誤碼

HTTP狀態代碼

錯誤碼

錯誤訊息

描述

404

Forbidden.OnlySymmetricKeySupported

The key %s is not a symmetric key. The API only supports symmetric keys.

僅支援使用對稱金鑰。

500

InternalFailure

Internal Failure.

可能原因為:

  • 密文資料不符合要求。

    例如,密文資料應是通過AdvanceEncrypt加密得到。

  • 請求參數指定的密鑰不是加密時使用的密鑰。

如果已排除上述原因,請您通過工單聯絡技術支援人員。

訪問公用錯誤碼查看更多錯誤碼。