GenerateDataKey
In this article:
GenerateDataKey#
Description#
Генерирует случайный ключ шифрования для использования вне KMS. Метод возвращает копию ключа в открытом виде и копию ключа, зашифрованную ключом KMS.
Request Parameters#
Required parameters#
KeyId — Идентификатор ключа KMS или имя алиаса с префиксом
alias/.Type: String
Required: Yes
Optional parameters#
EncryptionContext — Контекст шифрования, используемый как дополнительные аутентифицированные данные (AAD).
Тип: Map of strings
Required: No
Ограничения: Суммарная длина всех строк в кодировке UTF-8 не должна превышать 6144 байт
KeySpec — Тип ключа. Используйте
AES_128, чтобы сгенерировать 128-разрядный ключ, илиAES_256, чтобы сгенерировать 256-разрядный ключ.Type: String
Необходимо: Да, если не указан NumberOfBytes
Возможные значения:
AES_128|AES_256
NumberOfBytes — Длина ключа в байтах.
Type: String
Необходимо: Да, если не указан KeySpec
Диапазон: От 1 до 1024
Response Elements#
CiphertextBlob — Копия ключа, зашифрованная ключом KMS.
Тип: Base64-encoded binary data
Ограничение длины: От 1 до 6144 байт
Plaintext — Копия ключа в открытом виде.
Тип: Base64-encoded binary data
Ограничение длины: От 1 до 4096 байт
Examples#
Sample Request#
POST / HTTP/1.1
Host: kms.<region>.<domain>
Content-Length: <PayloadSizeBytes>
Content-Type: application/x-amz-json-1.1
Authorization: AWS4-HMAC-SHA256 Credential=<Credential>, SignedHeaders=<Headers>, Signature=<Signature>
X-Amz-Date: <Date>
X-Amz-Target: TrentService.GenerateDataKey
{
"KeyId": "1234abcd-12ab-34cd-56ef-1234567890ab",
"KeySpec": "AES_256"
}
Sample Response#
HTTP/1.1 200 OK
Content-Type: application/x-amz-json-1.1
{
"CiphertextBlob": "AAAAAM4+iMkZakUYoOjQVwv/+RaNerguTbNtiK78FmF8u+P9u6gNwryNN5JSqsv3meTKbhXnO6vi7OW028t4wbFW7Qbr5FvWRLPtlTSrLqcpZO1R8gB+7JPYMdW+/ndH2BiCMoYwOmjVOiXN/CclpQ==",
"Plaintext": "0PBAnZfnI00Q+GGesjC0AXg6orjmHUMirVhh0ahYyqY="
}