Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
Úselo GenerateDataKeyWithoutPlaintext
con un AWS SDK o CLI
En los siguientes ejemplos de código, se muestra cómo utilizar GenerateDataKeyWithoutPlaintext
.
- CLI
-
- AWS CLI
-
Generación de una clave de datos simétrica de 256 bits sin una clave de texto no cifrado
En el siguiente ejemplo de generate-data-key-without-plaintext
se solicita una copia cifrada de una clave de datos simétrica de 256 bits para usarla fuera de AWS. Puede llamar a AWS KMS para descifrar la clave de datos cuando esté listo para usarla.
Para solicitar una clave de datos de 256 bits, utilice el parámetro key-spec
con un valor de AES_256
. Para solicitar una clave de datos de 128 bits, utilice el parámetro key-spec
con un valor de AES_128
. Para el resto longitudes de clave de datos, utilice el parámetro number-of-bytes
.
La clave de KMS que especifique debe ser una clave de KMS de cifrado simétrica, es decir, una clave de KMS con un valor de especificación de clave SYMMETRIC_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
Salida:
{
"CiphertextBlob": "AQEDAHjRYf5WytIc0C857tFSnBaPn2F8DgfmThbJlGfR8P3WlwAAAH4wfAYJKoZIhvcNAQcGoG8wbQIBADBoBgkqhkiG9w0BBwEwHgYJYIZIAWUDBAEuMBEEDEFogL",
"KeyId": "arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab"
}
CiphertextBlob
(clave de datos cifrada) se devuelve en formato codificado en base64.
Para obtener más información, consulte Claves de datos en la Guía para desarrolladores de AWS Key Management Service.
- Rust
-
- SDK para 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(())
}
Para obtener una lista completa de guías para desarrolladores del AWS SDK y ejemplos de código, consulteUso de este servicio con un AWS SDK. En este tema también se incluye información sobre cómo comenzar a utilizar el SDK y detalles sobre sus versiones anteriores.