Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
À utiliser GenerateDataKeyWithoutPlaintext
avec un AWS SDK ou CLI
Les exemples de code suivants montrent comment utiliserGenerateDataKeyWithoutPlaintext
.
- CLI
-
- AWS CLI
-
Pour générer une clé de données symétrique de 256 bits sans clé en texte brut
L'generate-data-key-without-plaintext
exemple suivant demande une copie cryptée d'une clé de données symétrique de 256 bits pour une utilisation en dehors de. AWS Vous pouvez appeler AWS KMS pour déchiffrer la clé de données lorsque vous êtes prêt à l'utiliser.
Pour demander une clé de données de 256 bits, utilisez le key-spec
paramètre avec une valeur de. AES_256
Pour demander une clé de données de 128 bits, utilisez le key-spec
paramètre avec une valeur de. AES_128
Pour toutes les autres longueurs de clé de données, utilisez le number-of-bytes
paramètre.
La KMS clé que vous spécifiez doit être une KMS clé de chiffrement symétrique, c'est-à-dire une KMS clé dont la valeur de spécification de SYMMETRIC clé est _. DEFAULT
aws kms generate-data-key-without-plaintext \
--key-id "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab"
\
--key-spec AES_256
Sortie :
{
"CiphertextBlob": "AQEDAHjRYf5WytIc0C857tFSnBaPn2F8DgfmThbJlGfR8P3WlwAAAH4wfAYJKoZIhvcNAQcGoG8wbQIBADBoBgkqhkiG9w0BBwEwHgYJYIZIAWUDBAEuMBEEDEFogL",
"KeyId": "arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab"
}
La CiphertextBlob
(clé de données cryptée) est renvoyée au format codé en base64.
Pour plus d'informations, consultez la section Clés de données dans le Guide du développeur du service de gestion des AWS clés.
- Rust
-
- SDKpour Rust
-
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(())
}
Pour obtenir la liste complète des guides AWS SDK de développement et des exemples de code, consultezL'utilisation de ce service avec un AWS SDK. Cette rubrique inclut également des informations sur la mise en route et des détails sur SDK les versions précédentes.