Serreau Jovann 3870713412 feat: VaultService pour chiffrement Transit Hashicorp Vault
VaultService — chiffrement/déchiffrement via Vault Transit engine :

Gestion des clés :
- createKey(keyName, type) : crée une clé Transit (défaut aes256-gcm96)
- deleteKey(keyName) : marque deletable + supprime
- updateKey(keyName, config) : met à jour la config (rotation, export...)
- listKeys() : liste toutes les clés Transit
- keyExists(keyName) : vérifie l'existence d'une clé
- checkOrCreateKey(keyName) : crée la clé si elle n'existe pas

Chiffrement :
- encrypt(keyName, plaintext) : chiffre avec Transit, retourne vault:v1:...
  Auto-crée la clé si inexistante
- decrypt(keyName, ciphertext) : déchiffre le ciphertext Transit

Communication HTTP avec X-Vault-Token, gestion erreurs 4xx/5xx.

Configuration :
- .env : VAULT_URL, VAULT_TOKEN (vides par défaut)
- .env.local : VAULT_URL=http://vault:8200, VAULT_TOKEN=crm_siteconseil
- ansible/vault.yml : vault_url=https://kms.esy-web.dev pour la prod
- Transit engine activé sur le container Vault dev

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-04 21:45:27 +02:00
2026-03-30 18:52:03 +02:00
2026-03-30 18:52:03 +02:00
2026-03-30 18:51:57 +02:00
2026-03-30 18:51:57 +02:00
2026-03-30 18:52:03 +02:00
2026-04-01 15:42:52 +02:00
2026-04-01 15:42:52 +02:00
2026-04-01 15:42:52 +02:00
2026-04-01 15:42:52 +02:00
2026-04-01 15:42:52 +02:00
2026-04-01 15:42:52 +02:00
2026-04-01 15:42:52 +02:00
2026-04-01 15:42:52 +02:00
2026-04-01 15:42:52 +02:00
2026-04-01 15:42:52 +02:00
Description
No description provided
9.6 MiB
Languages
PHP 66.2%
Twig 28.7%
JavaScript 4%
Jinja 0.5%
Makefile 0.3%
Other 0.2%