日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

GenerateDataKey

調用GenerateDataKey接口生成一個隨機的數據密鑰,用于本地數據加密。

注意事項

  • 非KMS實例中的密鑰:進行密碼運算時,僅支持通過阿里云SDK調用OpenAPI。
  • KMS實例中的密鑰:進行密碼運算時,支持如下兩種方式。

QPS限制

本接口的單用戶QPS限制為750次/秒。超過限制,API調用將會被限流,這可能影響您的業務,請合理調用。

詳細說明

API隨機生成的數據密鑰通過您指定的主密鑰(CMK)加密后,返回數據密鑰的密文和明文。您可以使用返回的數據密鑰明文,在KMS之外對數據進行本地離線加密。在存儲加密后的數據時,也需要存儲數據密鑰的密文。您可以通過響應中的Plaintext字段獲取到數據密鑰的明文,通過CiphertextBlob字段獲取到數據密鑰的密文。

在請求中指定的CMK,僅會被用作數據密鑰的加密,和數據密鑰的生成無關。KMS不會記錄或存儲隨機生成的數據密鑰,您需要負責對數據密鑰(密文)進行持久化。

建議您使用以下方式在本地進行數據加密:

1.調用GenerateDataKey接口,獲得用于數據加密的密鑰。

2.使用數據密鑰的明文(通過響應中的Plaintext字段返回),在本地完成離線數據加密,隨后清除內存中的數據密鑰明文。

3.將數據密鑰的密文(通過響應中的CiphertextBlob字段返回),和本地離線加密后的數據一并進行存儲。

在本地解密數據:

  • 調用Decrypt接口解密本地存儲的數據密鑰的密文。該操作將返回數據密鑰的明文。
  • 使用數據密鑰的明文,在本地完成離線數據解密,隨后清除內存中的數據密鑰明文。

本文將提供一個示例,為ID為key-hzz630494463ejqjx****的密鑰生成隨機的數據密鑰。

調試

您可以在OpenAPI Explorer中直接運行該接口,免去您計算簽名的困擾。運行成功后,OpenAPI Explorer可以自動生成SDK代碼示例。

請求參數

名稱

類型

是否必選

示例值

描述

Action String GenerateDataKey

要執行的操作。取值:GenerateDataKey

KeyId String key-hzz630494463ejqjx****

密鑰的ID,也可以指定為密鑰別名或密鑰資源名稱(ARN)。關于別名的詳細介紹,請參見管理密鑰別名

說明 訪問其他阿里云賬號下的密鑰時,必須輸入密鑰ARN。密鑰ARN的格式為acs:kms:${region}:${account}:key/${keyid}
KeySpec String AES_256

指定生成的數據密鑰的長度,取值:

  • AES_256:256比特的對稱密鑰。
  • AES_128:128比特的對稱密鑰。
說明 建議使用KeySpec或者NumberOfBytes來指定數據密鑰長度。如果兩者都不指定,KMS生成256比特的數據密鑰;如果兩者都被指定,KMS會忽略KeySpec參數。
NumberOfBytes Integer 256

指定生成的數據密鑰的長度,單位為字節。

取值:1~1024。

默認值:

  • 當KeySpec取值為AES_256時,NumberOfBytes默認值為32。
  • 當KeySpec取值為AES_128時,NumberOfBytes默認值為16。
EncryptionContext Map {"Example":"Example"}

key/value對的JSON字符串。

如果指定了該參數,則在調用Decrypt接口時需要提供同樣的參數。更多信息,請參見EncryptionContext

DryRun String false

是否開啟DryRun模式。

  • true:開啟
  • false(默認值):關閉

DryRun模式用于測試API調用,驗證您是否具有相應資源的權限,以及請求參數是否配置正確。DryRun模式開啟后,KMS會始終返回失敗并提示失敗原因。失敗原因包含如下:

  • DryRunOperationError:不配置DryRun參數時,請求會成功。
  • ValidationError:請求中指定的參數有誤。
  • AccessDeniedError:您無權在KMS資源上執行該操作。

關于公共請求參數的詳情,請參見公共參數

返回數據

名稱

類型

示例值

描述

KeyVersionId String 2ab1a983-7072-4bbc-a582-584b5bd8****

密鑰版本ID。主密鑰版本的全局唯一標識符。

KeyId String key-hzz630494463ejqjx****

密鑰ID。如果請求中的KeyId參數使用的是密鑰別名、密鑰ARN,在響應中也會返回密鑰ID。

CiphertextBlob String ODZhOWVmZDktM2QxNi00ODk0LWJkNGYtMWZjNDNmM2YyYWJmS7FmDBBQ0BkKsQrtRnidtPwirmDcS0ZuJCU41xxAAWk4Z8qsADfbV0b+i6kQmlvj79dJdGOvtX69Uycs901qOjop4bTS****

數據密鑰被指定密鑰的主版本加密后的密文。

RequestId String 7021b6ec-4be7-4d3c-8a68-1e85d4d515a0

本次調用請求的ID,是由阿里云為該請求生成的唯一標識符,可用于排查和定位問題。

Plaintext String QmFzZTY0IGVuY29kZWQgcGxhaW50****

數據密鑰的明文經過Base64編碼后的值。

示例

請求示例

http(s)://[Endpoint]/?Action=GenerateDataKey
&KeyId=key-hzz630494463ejqjx****
&KeySpec=AES_256
&NumberOfBytes=256
&DryRun=false
&公共請求參數

正常返回示例

XML格式

HTTP/1.1 200 OK
Content-Type:application/xml

<GenerateDataKeyResponse>
    <KeyVersionId>2ab1a983-7072-4bbc-a582-584b5bd8****</KeyVersionId>
    <KeyId>key-hzz630494463ejqjx****</KeyId>
    <CiphertextBlob>ODZhOWVmZDktM2QxNi00ODk0LWJkNGYtMWZjNDNmM2YyYWJmS7FmDBBQ0BkKsQrtRnidtPwirmDcS0ZuJCU41xxAAWk4Z8qsADfbV0b+i6kQmlvj79dJdGOvtX69Uycs901qOjop4bTS****</CiphertextBlob>
    <RequestId>7021b6ec-4be7-4d3c-8a68-1e85d4d515a0</RequestId>
    <Plaintext>QmFzZTY0IGVuY29kZWQgcGxhaW50****</Plaintext>
</GenerateDataKeyResponse>

JSON格式

HTTP/1.1 200 OK
Content-Type:application/json

{
  "KeyVersionId" : "2ab1a983-7072-4bbc-a582-584b5bd8****",
  "KeyId" : "key-hzz630494463ejqjx****",
  "CiphertextBlob" : "ODZhOWVmZDktM2QxNi00ODk0LWJkNGYtMWZjNDNmM2YyYWJmS7FmDBBQ0BkKsQrtRnidtPwirmDcS0ZuJCU41xxAAWk4Z8qsADfbV0b+i6kQmlvj79dJdGOvtX69Uycs901qOjop4bTS****",
  "RequestId" : "7021b6ec-4be7-4d3c-8a68-1e85d4d515a0",
  "Plaintext" : "QmFzZTY0IGVuY29kZWQgcGxhaW50****"
}

錯誤碼

HttpCode

錯誤碼

錯誤信息

描述

400 UnsupportedOperation This action is not supported. 不支持的操作
404 Forbidden.AliasNotFound The specified Alias is not found. 指定的別名找不到
404 Forbidden.KeyNotFound The specified Key is not found. 指定的密鑰不存在。
409 Rejected.Disabled The request was rejected because the key state is Disabled. 請求被拒絕,因為密鑰狀態為已禁用。
409 Rejected.PendingDeletion The request was rejected because the key state is PendingDeletion. 請求被拒絕,原因是密鑰狀態為待刪除。
409 Rejected.Unavailable The request was rejected because the key state is Unavailable. 請求被拒絕,原因是密鑰狀態為不可用。

訪問錯誤中心查看更多錯誤碼。