Format:
Export:

Test cases(26 of 50)

Show
Priority
Category
0/26 completed0%

Complete the OpenBao prerequisites before running these tests. Go to prerequisites

Enable TLS end-to-end on OpenBao (OpenShift)
Manual init and unseal — loop script (Approach 1)
Seal migration — Shamir to Transit auto-unseal
Seal migration — Shamir to AWS KMS auto-unseal

Requires AWS KMS, IAM permissions, and credentials. Independent of transit auto-unseal (UNSEAL-002).

Enable and Use KV v2 Secrets Engine
KV v2 Metadata and Custom Metadata
KV Secret Rotation Pattern with CAS
Configure PKI Engine as Internal CA
Auto-Rotate TLS Certificates with cert-manager
Cross-Sign External CA with OpenBao PKI
Dynamic PostgreSQL Credentials
Dynamic MySQL/MariaDB Credentials
Kubernetes Auth Method
OIDC Authentication with Keycloak/DEX
Raft Cluster Operations
Raft Snapshot and Restore
Full OpenBao Backup Strategy
Disaster Recovery Restore
TLS Certificates for OpenShift Routes via PKI
Dynamic PostgreSQL Credentials for Applications
Multi-Tenant Secret Isolation
Encryption as a Service - Transit Encryption for Application Data

The transit secrets engine handles cryptographic functions on data in-transit. OpenBao doesn't store the data sent to the secrets engine. Enable the transit secrets engine to provide encryption-as-a-service for application data. Follows the Transit secrets engine guide.

Prerequisites checklist

Confirm these before running steps:

1Enable the transit secrets engine
bao secrets enable transit
2Create a named encryption key for PII data
Usually each application has its own encryption key.
bao write -f transit/keys/pii-key type=aes256-gcm96
3Encrypt a plaintext value (email)
Let's encrypt the email address user@example.com.
bao write transit/encrypt/pii-key plaintext=$(echo -n 'user@example.com' | base64)
Key            Value
---            -----
ciphertext     vault:v1:8NqVMvkSQZtbEWQYM4oGsPOH5Y2JowtV/OCbk8Kcqz2kKNFlBRfRrhdBlOk=
key_version    1
4Decrypt the ciphertext back to plaintext
Use the ciphertext from the previous step to decrypt the value.
bao write transit/decrypt/pii-key ciphertext=vault:v1:<ciphertext>
Key            Value
---            -----
plaintext      dXNlckBleGFtcGxlLmNvbQ==
Decode the base64 plaintext:
echo dXNlckBleGFtcGxlLmNvbQ== | base64 -d
Success: prints user@example.com
5Encrypt a batch of values
POST a batch over HTTPS and encode each plaintext dynamically with base64.
curl -sSk -H "X-Vault-Token: $BAO_TOKEN" \
  --data "{\"batch_input\":[\
    {\"plaintext\":\"$(echo -n 'user@example.com' | base64)\"},\
    {\"plaintext\":\"$(echo -n '123-45-6789' | base64)\"}\
  ]}" \
  "$BAO_ADDR/v1/transit/encrypt/pii-key"
Success: Batch encryption returns an array of ciphertexts.
6Verify the current key version (should be 1)
bao read transit/keys/pii-key
Success: latest_version should be 1
7Rotate the encryption key
bao write -f transit/keys/pii-key/rotate
Success: latest_version should now be incremented to 2
8Rewrap existing ciphertext with the new key version
Decrypt with the old key version and re-encrypt with the latest — without exposing plaintext to the caller.
bao write transit/rewrap/pii-key ciphertext=vault:v1:<old-ciphertext>
9Set minimum decryption version to enforce key rotation
Reject decryption with older key versions so obsolete ciphertext cannot be read.
bao write transit/keys/pii-key/config min_decryption_version=2
Verify the config:
bao read transit/keys/pii-key
Success: min_decryption_version is 2
Confirm old ciphertext is rejected:
bao write transit/decrypt/pii-key ciphertext=vault:v1:<old-ciphertext>
Success: error — * ciphertext or signature version is disallowed by policy (too old)
External Secrets Operator with OpenBao
CSI Secrets Store Driver with OpenBao
OpenBao Agent Sidecar Injector
Sealed Secrets Migration to OpenBao

Search test plan

Type at least 2 characters to search

Keyboard shortcuts

P
Go to prerequisites
T
Go to test cases
G
Go to glossary
D
Go to diagrams
J
Next card
K
Previous card
Enter
Open / close focused card
/
Open search
CtrlK
Open search modal
?
Show shortcuts
Esc
Close panel / blur search
/ open searchJ/K next / previous card? keyboard shortcutsEsc close panels