全部產品
Search
文件中心

Key Management Service:GenerateDataKeyPair

更新時間:Jul 06, 2024

調用GenerateDataKeyPair介面產生非對稱的資料金鑰組。

使用說明

本介面通過隨機數產生器產生資料金鑰組,使用對稱金鑰的初始版本對資料金鑰組加密,並返回資料金鑰組的公開金鑰明文、私密金鑰明文、私密金鑰密文。您可以使用資料金鑰組,在KMS之外進行簽名驗簽。

請儲存私密金鑰密文(PrivateKeyCiphertextBlob)、初始向量(Iv)、密碼編譯演算法(Algorithm)、認證資料(Aad),以便後續使用Decrypt對私密金鑰密文進行解密。

KMS提供了如下介面,用於產生資料金鑰組,具體之間的區別請參見下表。

API

使用情境

API的返回資料

加密時的密鑰版本

解密時的API介面

GenerateDataKey

加密的密鑰未設定自動輪轉,且您需要立即擷取私密金鑰明文。

公開金鑰明文、私密金鑰明文、私密金鑰密文。

密鑰的初始版本。

Decrypt

GenerateDataKeyPairWithoutPlaintext

加密的密鑰未設定自動輪轉,且您暫時不使用私密金鑰明文或者需要更高的安全性。

公開金鑰明文、私密金鑰密文,不返回私密金鑰明文。

密鑰的初始版本。

Decrypt

AdvanceGenerateDataKeyPair

加密的密鑰設定了自動輪轉,且您需要立即獲得私密金鑰明文。

說明

關於密鑰輪轉的相關內容,請參見密鑰輪轉

公開金鑰明文、私密金鑰明文、私密金鑰密文。

密鑰的主要版本。

AdvanceDecrypt

AdvanceGenerateDataKeyPairWithoutPlaintext

加密的密鑰設定了自動輪轉,且您暫時不使用私密金鑰明文或者需要更高的安全性。

公開金鑰明文、私密金鑰密文,不返回私密金鑰明文。

密鑰的主要版本。

AdvanceDecrypt

注意事項

針對產生資料金鑰組的介面GenerateDataKeyPair、 GenerateDataKeyPairWithoutPlaintext、AdvanceGenerateDataKeyPair和AdvanceGenerateDataKeyPairWithoutPlaintext,一般情況下每個KMS執行個體,每次僅支援處理一個請求,請您控制好並發請求。如超出並發限制,KMS將返回429報錯(Concurrency Limit Exceeded)。

請求參數

名稱

類型

是否必選

樣本值

描述

KeyId

string

key-hzz62f1cb66fa42qo****

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

說明

僅支援軟體密鑰管理執行個體中的對稱金鑰。

KeyPairSpec

string

RSA_2048

指定產生的資料金鑰組的類型。取值:

  • RSA_2048

  • RSA_3072

  • RSA_4096

  • EC_P256

  • EC_P256K

Aad

bytes

位元據

對資料金鑰組加密時使用的GCM加密模式認證資料。

重要

如果指定了該參數,調用Decrypt解密時需要指定相同的參數。

KeyFormat

string

PEM

產生的資料金鑰組格式。取值:

  • PEM

  • DER

響應資料

名稱

類型

樣本值

描述

KeyId

string

key-hzz62f1cb66fa42qo****

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

Iv

bytes

位元據

加密資料金鑰組時使用的初始向量。

說明

調用Decrypt對資料密鑰解密時必須傳入正確的Iv才能成功解密。

KeyPairSpec

string

RSA_2048

產生的資料金鑰組的類型。

PrivateKeyCiphertextBlob

bytes

位元據

資料金鑰組的私密金鑰密文。

PrivateKeyPlaintext

bytes

位元據

資料金鑰組的私密金鑰明文。

  • 當請求參數中KeyFormat為DER時,返回DER格式的PKCS#8私密金鑰明文。

  • 當請求參數中KeyFormat為PEM時,返回PEM格式的PKCS#8私密金鑰明文。

PublicKey

bytes

位元據

資料金鑰組的公開金鑰明文。

  • 當請求參數中KeyFormat為DER時,返回DER格式的X.509公開金鑰明文。

  • 當請求參數中KeyFormat為PEM時,返回PEM格式的X.509公開金鑰明文。

Algorithm

string

AES_GCM

密碼編譯演算法。僅支援AES_GCM。

RequestId

string

475f1620-b9d3-4d35-b5c6-3fbdd941423d

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

錯誤碼

HTTP狀態代碼

錯誤碼

錯誤資訊

描述

429

Rejected.Throttling

Concurrency Limit Exceeded.

並發超過限制。

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