À utiliser GenerateRandom avec un AWS SDKou 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 SDKou 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é.

Par défaut, AWS KMSgénère le nombre aléatoire. 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 AWS HSMCluster 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 pour diriger text AWS CLIpour renvoyer la sortie sous forme de texte, au lieu de. JSON Il utilise le --query parameter pour extraire la valeur de la Plaintext propriété de la réponse. Il transmet (|) la sortie de la commande à 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 ExampleRandom fichier. Il utilise l'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 GenerateRandomle AWS APIRéférence du service de gestion des 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 GenerateRandomle AWS APIRéférence du service de gestion des clés.

  • Pour API plus de détails, voir GenerateRandomAWS CLI Référence de commande.

Rust
SDKpour Rust
Note

Il y en a plus à ce sujet GitHub. Consultez l'exemple complet et apprenez à configurer et à exécuter dans AWS Référentiel d'exemples de code.

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, voir GenerateRandomAWS SDKpour API référence à Rust.

Pour une liste complète des AWS SDKguides du développeur et exemples de code, voirUtilisation AWS KMS 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.