Utilizzo GenerateRandom con un AWS SDK o una CLI - AWS Key Management Service

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Utilizzo GenerateRandom con un AWS SDK o una CLI

Gli esempi di codice seguenti mostrano come utilizzare GenerateRandom.

CLI
AWS CLI

Esempio 1: generare una stringa di byte casuale a 256 bit (Linux o macOS)

L'generate-randomesempio seguente genera una stringa di byte casuali a 256 bit (32 byte) con codifica in base64. L'esempio decodifica la stringa di byte e la salva in un file casuale.

Quando si esegue questo comando, è necessario utilizzare il number-of-bytes parametro per specificare la lunghezza del valore casuale in byte.

Non si specifica una chiave KMS quando si esegue questo comando. La stringa di byte casuale non è correlata a nessuna chiave KMS.

Per impostazione predefinita, AWS KMS genera il numero casuale. Tuttavia, se si specifica un key store personalizzato< https://docs.aws.amazon.com/kms/ latest/developerguide/custom - key-store-overview .html>, la stringa di byte casuale viene generata nel cluster CloudHSM AWS associato all'archivio chiavi personalizzato.

Questo esempio utilizza i seguenti parametri e valori:

Utilizza il --number-of-bytes parametro richiesto con un valore di 32 per richiedere una stringa da 32 byte (256 bit). Utilizza il --output parametro con un valore di per text indirizzare la AWS CLI a restituire l'output come testo, anziché JSON.Utilizza il per estrarre il valore della Plaintext proprietà da Response.it invia (|) l'output del comando --query parameter all'base64utilità, che decodifica l'output estratto.Utilizza l'operatore di reindirizzamento (>) per salvare la decodifica stringa di byte aggiunta al file.Utilizza l'operatore di reindirizzamento (>) ExampleRandom per salvare il testo cifrato binario in un file.

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

Questo comando non produce alcun output.

Per ulteriori informazioni, vedere GenerateRandomnel AWS Key Management Service API Reference.

Esempio 2: generare un numero casuale a 256 bit (prompt dei comandi di Windows)

L'esempio seguente utilizza il generate-random comando per generare una stringa di byte casuali a 256 bit (32 byte) con codifica base64. L'esempio decodifica la stringa di byte e la salva in un file casuale. Questo esempio è uguale all'esempio precedente, tranne per il fatto che utilizza l'certutilutilità di Windows per decodificare in base64 la stringa di byte casuale prima di salvarla in un file.

Innanzitutto, genera una stringa di byte casuali codificata in base64 e la salva in un file temporaneo,. ExampleRandom.base64

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

Poiché l'output del generate-random comando viene salvato in un file, questo esempio non produce alcun output.

Ora utilizzate il certutil -decode comando per decodificare la stringa di byte codificata in base64 nel file. ExampleRandom.base64 Quindi, salva la stringa di byte decodificata nel file. ExampleRandom

certutil -decode ExampleRandom.base64 ExampleRandom

Output:

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

Per ulteriori informazioni, consulta GenerateRandomla sezione AWS Key Management Service API Reference.

Rust
SDK per Rust
Nota

C'è altro su GitHub. Trova l'esempio completo e scopri di più sulla configurazione e l'esecuzione nel Repository di esempi di codice 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(()) }
  • Per i dettagli sulle API, consulta la GenerateRandomguida di riferimento all'API AWS SDK for Rust.

Per un elenco completo delle guide per sviluppatori AWS SDK e degli esempi di codice, consulta. Utilizzo di questo servizio con un AWS SDK Questo argomento include anche informazioni su come iniziare e dettagli sulle versioni precedenti dell'SDK.