本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
GenerateDataKeyWithoutPlaintext
搭配使用 Amazon SDK或 CLI
以下代码示例演示如何使用 GenerateDataKeyWithoutPlaintext
。
- CLI
-
- Amazon CLI
-
生成不带明文密钥的 256 位对称数据密钥
以下
generate-data-key-without-plaintext
示例请求一份 256 位对称数据密钥的加密副本以供在之外使用 Amazon。 你可以打电话 Amazon KMS以便在准备好使用数据密钥时对其进行解密。要请求 256 位数据密钥,请使用值为
AES_256
的key-spec
参数。要请求 128 位数据密钥,请使用值为AES_128
的key-spec
参数。对于所有其他数据密钥长度,请使用number-of-bytes
参数。您指定的KMS密钥必须是对称加密KMS密钥,即KMS密钥规格值为 SYMMETRIC _ DEFAULT 的密钥。
aws kms generate-data-key-without-plaintext \ --key-id
"arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab"
\ --key-specAES_256
输出:
{ "CiphertextBlob": "AQEDAHjRYf5WytIc0C857tFSnBaPn2F8DgfmThbJlGfR8P3WlwAAAH4wfAYJKoZIhvcNAQcGoG8wbQIBADBoBgkqhkiG9w0BBwEwHgYJYIZIAWUDBAEuMBEEDEFogL", "KeyId": "arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab" }
CiphertextBlob
(加密数据密钥)以 base64 编码的格式返回。有关更多信息,请参阅《中的数据密钥》Amazon 密钥管理服务开发人员指南。
-
有关API详细信息,请参阅GenerateDataKeyWithoutPlaintext
中的 Amazon CLI 命令参考。
-
- Rust
-
- SDK对于 Rust
-
注意
还有更多相关信息 GitHub。在中查找完整的示例,学习如何设置和运行 Amazon 代码示例存储库
。 async fn make_key(client: &Client, key: &str) -> Result<(), Error> { let resp = client .generate_data_key_without_plaintext() .key_id(key) .key_spec(DataKeySpec::Aes256) .send() .await?; // Did we get an encrypted blob? let blob = resp.ciphertext_blob.expect("Could not get encrypted text"); let bytes = blob.as_ref(); let s = base64::encode(bytes); println!(); println!("Data key:"); println!("{}", s); Ok(()) }
-
有关API详细信息,请参阅GenerateDataKeyWithoutPlaintext
中的 Amazon SDK供API参考 Rust 。
-
有关完整列表 Amazon SDK开发者指南和代码示例,请参阅使用 Amazon KMS 用一个 Amazon SDK。本主题还包括有关入门的信息以及有关先前SDK版本的详细信息。