gcloud alpha kms raw-encrypt Stay organized with collections Save and categorize content based on your preferences.
- NAME
- gcloud alpha kms raw-encrypt - encrypt a plaintext file using a raw key
- SYNOPSIS
gcloud alpha kms raw-encrypt--ciphertext-file=CIPHERTEXT_FILE--plaintext-file=PLAINTEXT_FILE--version=VERSION[--additional-authenticated-data-file=ADDITIONAL_AUTHENTICATED_DATA_FILE][--initialization-vector-file=INITIALIZATION_VECTOR_FILE][--key=KEY][--keyring=KEYRING][--location=LOCATION][--skip-integrity-verification][GCLOUD_WIDE_FLAG …]
- DESCRIPTION
(ALPHA)Encrypts the given plaintext file using the given CryptoKeycontaining a raw key and writes the result to the named ciphertext file. Theplaintext file must not be larger than 64KiB. For the AES-CBC algorithms, noserver-side padding is being done, so the plaintext must be a multiple of theblock size.The supported algorithms are:
AES-128-GCM,AES-256-GCM,AES-128-CBC,AES-256-CBC,AES-128-CTR,and AES-256-CTR.AES-GCMprovides authentication which means that it acceptsadditional authenticated data (AAD). So, the flag--additional-authenticated-data-fileis only valid withAES-128-GCMandAES-256-GCMalgorithms.The initialization vector (flag
--initialization-vector-file) isonly supported forAES-CBCandAES-CTRalgorithms, andmust be 16B in length.Therefore, both additional authenticated data and initialization vector can't beprovided during encryption. If an additional authenticated data file isprovided, its contents must also be provided during decryption. The file mustnot be larger than 64KiB.
The flag
--versionindicates the version of the key to use forencryption.If
--plaintext-fileor--additional-authenticated-data-fileor--initialization-vector-fileis set to '-', that file is read fromstdin. Similarly, if--ciphertext-fileis set to '-', theciphertext is written to stdout.By default, the command performs integrity verification on data sent to andreceived from Cloud KMS. Use
--skip-integrity-verificationtodisable integrity verification.- EXAMPLES
- The following command reads and encrypts the file
path/to/input/plaintext. The file will be encrypted using theAES-GCMCryptoKeyKEYNAMEfrom the KeyRingKEYRINGin thegloballocation using the additionalauthenticated data filepath/to/input/aad. The resulting ciphertextwill be written topath/to/output/ciphertext.gcloudalphakmsraw-encrypt--key=KEYNAME--keyring=KEYRING--location=global--plaintext-file=path/to/input/plaintext--additional-authenticated-data-file=path/to/input/aad--ciphertext-file=path/to/output/ciphertextThe following command reads and encrypts the file
path/to/input/plaintext. The file will be encrypted using theAES-CBCCryptoKeyKEYNAMEfrom the KeyRingKEYRINGin thegloballocation using theinitialization vector stored atpath/to/input/aad. The resultingciphertext will be written topath/to/output/ciphertext.gcloudalphakmsraw-encrypt--key=KEYNAME--keyring=KEYRING--location=global--plaintext-file=path/to/input/plaintext--initialization-vector-file=path/to/input/iv--ciphertext-file=path/to/output/ciphertext - REQUIRED FLAGS
--ciphertext-file=CIPHERTEXT_FILE- File path of the ciphertext file to output.
--plaintext-file=PLAINTEXT_FILE- File path of the plaintext file to encrypt.
--version=VERSION- Version to use for encryption.
- OPTIONAL FLAGS
--additional-authenticated-data-file=ADDITIONAL_AUTHENTICATED_DATA_FILE- File path to the optional file containing the additional authenticated data.
--initialization-vector-file=INITIALIZATION_VECTOR_FILE- File path to the optional file containing the initialization vector forencryption.
--key=KEY- The key to use for encryption.
--keyring=KEYRING- Key ring of the key.
--location=LOCATION- Location of the keyring.
--skip-integrity-verification- Skip integrity verification on request and response API fields.
- GCLOUD WIDE FLAGS
- These flags are available to all commands:
--access-token-file,--account,--billing-project,--configuration,--flags-file,--flatten,--format,--help,--impersonate-service-account,--log-http,--project,--quiet,--trace-token,--user-output-enabled,--verbosity.Run
$gcloud helpfor details. - NOTES
- This command is currently in alpha and might change without notice. If thiscommand fails with API permission errors despite specifying the correct project,you might be trying to access an API with an invitation-only early accessallowlist. These variants are also available:
gcloudkmsraw-encryptgcloudbetakmsraw-encrypt
Except as otherwise noted, the content of this page is licensed under theCreative Commons Attribution 4.0 License, and code samples are licensed under theApache 2.0 License. For details, see theGoogle Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates.
Last updated 2025-05-07 UTC.