調用GenerateDataKeyPairWithoutPlaintext介面產生非對稱的資料金鑰組。
使用說明
僅支援KMS軟體密鑰管理執行個體使用本介面,不支援KMS硬體密鑰管理執行個體。
本介面通過隨機數產生器產生資料金鑰組,使用對稱金鑰的初始版本對資料金鑰組加密,並返回資料金鑰組的公開金鑰明文、私密金鑰密文,不返回私密金鑰明文。您可以使用資料金鑰組,在KMS之外進行簽名驗簽。
請儲存私密金鑰密文(PrivateKeyCiphertextBlob)、初始向量(Iv)、密碼編譯演算法(Algorithm)、認證資料(Aad),以便後續使用Decrypt對私密金鑰密文進行解密。
KMS提供了如下介面,用於產生資料金鑰組,具體之間的區別請參見下表。
API | 使用情境 | API的返回資料 | 加密時的密鑰版本 | 解密時的API介面 |
GenerateDataKey | 加密的密鑰未設定自動輪轉,且您需要立即擷取私密金鑰明文。 | 公開金鑰明文、私密金鑰明文、私密金鑰密文。 | 密鑰的初始版本。 | |
GenerateDataKeyPairWithoutPlaintext | 加密的密鑰未設定自動輪轉,且您暫時不使用私密金鑰明文或者需要更高的安全性。 | 公開金鑰明文、私密金鑰密文,不返回私密金鑰明文。 | 密鑰的初始版本。 | |
AdvanceGenerateDataKeyPair | 加密的密鑰設定了自動輪轉,且您需要立即獲得私密金鑰明文。 說明 關於密鑰輪轉的相關內容,請參見密鑰輪轉。 | 公開金鑰明文、私密金鑰明文、私密金鑰密文。 | 密鑰的主要版本。 | |
AdvanceGenerateDataKeyPairWithoutPlaintext | 加密的密鑰設定了自動輪轉,且您暫時不使用私密金鑰明文或者需要更高的安全性。 | 公開金鑰明文、私密金鑰密文,不返回私密金鑰明文。 | 密鑰的主要版本。 |
注意事項
針對產生資料金鑰組的介面GenerateDataKeyPair、 GenerateDataKeyPairWithoutPlaintext、AdvanceGenerateDataKeyPair和AdvanceGenerateDataKeyPairWithoutPlaintext,一般情況下每個KMS執行個體,每次僅支援處理一個請求,請您控制好並發請求。如超出並發限制,KMS將返回429報錯(Concurrency Limit Exceeded)。
請求參數
名稱 | 類型 | 是否必選 | 樣本值 | 描述 |
KeyId | string | 是 | key-hzz62f1cb66fa42qo**** | 密鑰的通用唯一識別碼。本參數也可以被指定為密鑰別名。 說明 僅支援軟體密鑰管理執行個體中的對稱金鑰。 |
KeyPairSpec | string | 是 | RSA_2048 | 指定產生的資料金鑰組的類型。取值:
|
Aad | bytes | 否 | 位元據 | 對資料金鑰組加密時使用的GCM加密模式認證資料。 重要 如果指定了該參數,調用Decrypt解密時需要指定相同的參數。 |
KeyFormat | string | 是 | PEM | 產生的資料金鑰組格式。取值:
|
響應資料
名稱 | 類型 | 樣本值 | 描述 |
KeyId | string | key-hzz62f1cb66fa42qo**** | 密鑰的通用唯一識別碼。如果請求中的KeyId參數使用的是密鑰別名,在響應中會返回對應密鑰的通用唯一識別碼。 |
Iv | bytes | 位元據 | 加密資料金鑰組時使用的初始向量。 說明 調用Decrypt對資料密鑰解密時必須傳入正確的Iv才能成功解密。 |
KeyPairSpec | string | RSA_2048 | 產生的資料金鑰組的類型。 |
PrivateKeyCiphertextBlob | bytes | 位元據 | 資料金鑰組的私密金鑰密文。 |
PublicKey | bytes | 位元據 | 資料金鑰組的公開金鑰明文。
|
Algorithm | string | AES_GCM | 密碼編譯演算法。僅支援AES_GCM。 |
RequestId | string | 475f1620-b9d3-4d35-b5c6-3fbdd941423d | 本次調用請求的ID,是由阿里雲為該請求產生的唯一識別碼,可用於排查和定位問題。 |
錯誤碼
HTTP狀態代碼 | 錯誤碼 | 錯誤資訊 | 描述 |
429 | Rejected.Throttling | Concurrency Limit Exceeded. | 並發超過限制。 |
訪問公用錯誤碼查看更多錯誤碼。