Courseiva

VA-003 Explain encryption as a service Practice Question

A DevOps team needs to encrypt large files (several GB) using Vault's transit engine. What is the recommended approach?

⚠ Common exam trap

HashiCorp often tests the misconception that Vault's transit engine can handle large payloads directly, leading candidates to choose Option D, but the actual limitation is that transit encrypt/decrypt operations are designed for small data (e.g., database fields, tokens) and envelope encryption is required for large files.

Answer choices

Why each option matters

Answer the question above first, then reveal the full breakdown to understand why each option is right or wrong.

Correct answer & explanation

✓

Use Vault's datakey endpoint to get a data encryption key, encrypt locally, then wrap with Vault

The transit engine is designed for encrypting small data payloads (typically a few KB), not multi-GB files. The recommended approach is to use the `/transit/datakey/plaintext` endpoint to generate a data encryption key (DEK), encrypt the large file locally with that DEK using a symmetric algorithm like AES-256-GCM, and then wrap (encrypt) the DEK with Vault using the transit engine. This keeps the large file out of Vault while still leveraging Vault for key management and audit logging.

Answer analysis

Option-by-option breakdown

For each option: why learners choose it and why it is or isn't the right answer here.

  • ✗

    Use Vault's batch encryption

    Why it's wrong here

    Batch encryption lets many small plaintexts be submitted in one transit request, but the 32 MB request limit still applies, so multi-gigabyte files cannot be processed. It tempts because batching improves throughput for numerous small secrets, yet the scenario needs envelope encryption: a transit data key encrypting the file locally.

  • ✗

    Use Vault's seal-wrapping feature

    Why it's wrong here

    Seal wrapping protects Vault's own master key during initialisation and unsealing; it does not encrypt arbitrary file payloads. It tempts because it is a genuine Vault cryptographic feature involving keys, but it addresses root-of-trust protection, not bulk data confidentiality. Envelope encryption with a transit-generated data key is the intended approach for large files.

  • ✓

    Use Vault's datakey endpoint to get a data encryption key, encrypt locally, then wrap with Vault

    Why this is correct

    The datakey endpoint returns a plaintext data key plus its wrapped form; encrypting locally avoids sending gigabytes through Vault, then storing the wrapped key. This satisfies the constraint of handling large files without exhausting Vault's transit bandwidth.

  • ✗

    Encrypt the file directly with Vault's transit encrypt API

    Why it's wrong here

    The transit encrypt API accepts at most 32 MB of plaintext per request, so several-gigabyte files cannot be sent directly. It tempts because it is the obvious first API to reach for, but the documented pattern is envelope encryption: generate a data key via transit, encrypt the file locally, and store the wrapped key.

  • ✗

    Split the file into chunks and encrypt each chunk via transit

    Why it's wrong here

    The transit engine caps plaintext at 32 MB per request, so chunking still requires the application to manage splitting, ordering and re-assembly, and each chunk is separately encrypted. It tempts because chunking is the standard workaround for size-limited cryptographic APIs, but the recommended pattern is envelope encryption: a transit data key encrypts the file locally.

Quick reference

Symmetric Encryption Algorithm Comparison

AlgorithmKey SizeBlock SizeStatusNotes
AES-128128-bit128-bitCurrent standardNIST approved; WPA3, TLS
AES-256256-bit128-bitCurrent standardPreferred for sensitive / govt data
3DES112-bit effective64-bitDeprecated (2023)Replaced by AES
DES56-bit64-bitBrokenCracked in < 24 h; never deploy
ChaCha20256-bitStream cipherCurrentTLS 1.3, WireGuard

About these practice questions

Courseiva writes every VA-003 question from scratch — 366 in total, each with an explanation and a wrong-answer breakdown. None are copied from real exams or dumps. Learn why practice questions differ from exam dumps →

How Courseiva writes practice questions · Editorial policy

JA

Written by Johnson Ajibi, MSc IT Security

Senior Network & Security Engineer · founder of Courseiva

This VA-003 practice question is part of Courseiva's free HashiCorp certification practice question bank. Courseiva provides original exam-style practice questions with explanations, topic-based practice, mock exams, readiness tracking, and study analytics to help learners prepare for the VA-003 exam.