À utiliser GenerateRandom avec un AWS SDK ou CLI - AWS Key Management Service

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 GenerateRandom avec un AWS SDK ou CLI

Les exemples de code suivants montrent comment utiliserGenerateRandom.

CLI
AWS CLI

Exemple 1 : pour générer une chaîne d'octets aléatoire de 256 bits (Linux ou) macOs

L'generate-randomexemple suivant génère une chaîne d'octets aléatoire de 256 bits (32 octets) codée en base64. L'exemple décode la chaîne d'octets et l'enregistre dans le fichier aléatoire.

Lorsque vous exécutez cette commande, vous devez utiliser le number-of-bytes paramètre pour spécifier la longueur de la valeur aléatoire en octets.

Vous ne spécifiez pas de KMS clé lorsque vous exécutez cette commande. La chaîne d'octets aléatoire n'est liée à aucune KMS clé.

AWS KMSGénère le nombre aléatoire par défaut. Toutefois, si vous spécifiez un magasin de clés personnalisé < https://docs.aws.amazon.com/kms/ latest/developerguide/custom - key-store-overview .html>, la chaîne d'octets aléatoire est générée dans le HSM cluster AWS Cloud associé au magasin de clés personnalisé.

Cet exemple utilise les paramètres et valeurs suivants :

Il utilise le --number-of-bytes paramètre requis avec une valeur de 32 pour demander une chaîne de 32 octets (256 bits). Il utilise le --output paramètre avec une valeur de text pour diriger le renvoi de la sortie sous forme de texte, au lieu de. Il utilise le AWS CLI pour extraire la valeur de la Plaintext propriété de la réponse. JSON Il envoie (|) la sortie de la commande --query parameter à l'base64utilitaire, qui décode la sortie extraite. Il utilise l'opérateur de redirection (>) pour enregistrer la chaîne d'octets décodée dans le fichier.Il utilise l'opérateur de redirection (>) pour enregistrer la chaîne d'octets décodée dans le fichier. utilise le ExampleRandom opérateur de redirection (>) pour enregistrer le texte chiffré binaire dans un fichier.

aws kms generate-random \ --number-of-bytes 32 \ --output text \ --query Plaintext | base64 --decode > ExampleRandom

Cette commande ne produit aucun résultat.

Pour plus d'informations, consultez le GenerateRandomGuide de APIréférence du service de gestion des AWS clés.

Exemple 2 : pour générer un nombre aléatoire de 256 bits (invite de commande Windows)

L'exemple suivant utilise la generate-random commande pour générer une chaîne d'octets aléatoire de 256 bits (32 octets) codée en base64. L'exemple décode la chaîne d'octets et l'enregistre dans le fichier aléatoire. Cet exemple est identique à l'exemple précédent, sauf qu'il utilise l'certutilutilitaire de Windows pour décoder en base64 la chaîne d'octets aléatoire avant de l'enregistrer dans un fichier.

Tout d'abord, générez une chaîne d'octets aléatoire codée en base64 et enregistrez-la dans un fichier temporaire. ExampleRandom.base64

aws kms generate-random \ --number-of-bytes 32 \ --output text \ --query Plaintext > ExampleRandom.base64

La sortie de la generate-random commande étant enregistrée dans un fichier, cet exemple ne produit aucune sortie.

Utilisez maintenant la certutil -decode commande pour décoder la chaîne d'octets codée en base64 dans le fichier. ExampleRandom.base64 Ensuite, il enregistre la chaîne d'octets décodée dans le ExampleRandom fichier.

certutil -decode ExampleRandom.base64 ExampleRandom

Sortie :

Input Length = 18 Output Length = 12 CertUtil: -decode command completed successfully.

Pour plus d'informations, consultez le GenerateRandomGuide de APIréférence du service de gestion des AWS clés.

  • Pour API plus de détails, voir GenerateRandomla section Référence des AWS CLI commandes.

Rust
SDKpour Rust
Note

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.

async fn make_string(client: &Client, length: i32) -> Result<(), Error> { let resp = client .generate_random() .number_of_bytes(length) .send() .await?; // Did we get an encrypted blob? let blob = resp.plaintext.expect("Could not get encrypted text"); let bytes = blob.as_ref(); let s = base64::encode(bytes); println!(); println!("Data key:"); println!("{}", s); Ok(()) }
  • Pour API plus de détails, reportez-vous GenerateRandomà la section AWS SDKpour la API référence à Rust.

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.