NAME gcloud alpha kms raw-decrypt - decrypt a ciphertext file using a raw key SYNOPSIS gcloud alpha kms raw-decrypt --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) gcloud alpha kms raw-decrypt decrypts the given ciphertext file using the given CryptoKey containing a raw key and writes the result to the named plaintext file. The ciphertext file must not be larger than 64KiB. The supported algorithms are: AES-128-GCM, AES-256-GCM, AES-128-CBC, AES-256-CBC, AES-128-CTR, and AES-256-CTR. AES-GCM provides authentication which means that it accepts additional authenticated data (AAD). So, the flag --additional-authenticated-data-file is only valid with AES-128-GCM and AES-256-GCM algorithms. If AAD is provided during encryption, it must be provided during decryption too. The file must not be larger than 64KiB. If --plaintext-file or --additional-authenticated-data-file or --initialization-vector-file is set to '-', that file is read from stdin. Similarly, if --ciphertext-file is set to '-', the ciphertext is written to stdout. By default, the command performs integrity verification on data sent to and received from Cloud KMS. Use --skip-integrity-verification to disable integrity verification. EXAMPLES The following command reads and decrypts the file path/to/input/ciphertext. The file will be decrypted using the CryptoKey KEYNAME containing a raw key, from the KeyRing KEYRING in the global location. It uses the additional authenticated data file path/to/input/aad (only valid with the AES-GCM algorithms) and the initialization vector file path/to/input/iv. The resulting plaintext will be written to path/to/output/plaintext. $ gcloud alpha kms raw-decrypt --key=KEYNAME --keyring=KEYRING \ --location=global --ciphertext-file=path/to/input/ciphertext \ --additional-authenticated-data-file=path/to/input/aad \ --initialization-vector-file=path/to/input/iv \ --plaintext-file=path/to/output/plaintext REQUIRED FLAGS --ciphertext-file=CIPHERTEXT_FILE File path of the ciphertext file to decrypt. --plaintext-file=PLAINTEXT_FILE File path of the plaintext file to store the decrypted data. --version=VERSION Version to use for decryption. 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 for decryption. --key=KEY The (raw) key to use for decryption. --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 help for details. NOTES This command is currently in alpha and might change without notice. If this command fails with API permission errors despite specifying the correct project, you might be trying to access an API with an invitation-only early access allowlist. These variants are also available: $ gcloud kms raw-decrypt $ gcloud beta kms raw-decrypt