

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.

# Utilisation `GenerateDataKeyWithoutPlaintext` avec un AWS SDK ou une CLI
<a name="example_kms_GenerateDataKeyWithoutPlaintext_section"></a>

Les exemples de code suivants illustrent comment utiliser `GenerateDataKeyWithoutPlaintext`.

------
#### [ CLI ]

**AWS CLI**  
**Pour générer une clé de données symétrique de 256 bits sans clé en texte brut**  
L’exemple `generate-data-key-without-plaintext` suivant demande une copie chiffrée d’une clé de données symétrique de 256 bits pour une utilisation en dehors d’ 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 paramètre `key-spec` avec une valeur `AES_256`. Pour demander une clé de données de 128 bits, utilisez le paramètre `key-spec` avec une valeur `AES_128`. Pour toutes les autres longueurs de clé de données, utilisez le paramètre `number-of-bytes`.  
La clé KMS que vous spécifiez doit être une clé KMS de chiffrement symétrique, c’est-à-dire une clé KMS dont la valeur de spécification de clé est SYMMETRIC\$1DEFAULT.  

```
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",
    "KeyMaterialId": "0b7fd7ddbac6eef27907413567cad8c810e2883dc8a7534067a82ee1142fc1e6"
}
```
Le `CiphertextBlob` (clé de données chiffrée) est renvoyé au format encodé en base64.  
Pour plus d’informations, consultez [Clés de données](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#data-keys) dans le *Guide du développeur AWS  Key Management Service*.  
+  Pour plus de détails sur l'API, reportez-vous [GenerateDataKeyWithoutPlaintext](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/kms/generate-data-key-without-plaintext.html)à la section *Référence des AWS CLI commandes*. 

------
#### [ Rust ]

**SDK pour Rust**  
 Il y en a plus à ce sujet GitHub. Trouvez l’exemple complet et découvrez comment le configurer et l’exécuter dans le [référentiel d’exemples de code AWS](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/rustv1/examples/kms#code-examples). 

```
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 plus de détails sur l'API, voir [GenerateDataKeyWithoutPlaintext](https://docs.rs/aws-sdk-kms/latest/aws_sdk_kms/client/struct.Client.html#method.generate_data_key_without_plaintext)la section de *référence de l'API AWS SDK for Rust*. 

------

Pour obtenir la liste complète des guides de développement du AWS SDK et des exemples de code, consultez[Utilisation de ce service avec un AWS SDK](sdk-general-information-section.md). Cette rubrique comprend également des informations sur le démarrage et sur les versions précédentes du kit SDK.