class

Beryl::ZfsKeys::Vault

Inherits Reference < Object

Coffre chiffré d'une société, vu des clés ZFS. Le (dé)chiffrement est injectable : par défaut la clé maîtresse du poste (secrets) et le roster Secrets::Recipients ; les tests passent une identité age jetable.

Constructors

new(path : String, decrypt : Proc(String, String) = ->(ct : String) do Secrets::Vault.decrypt(ct, Secrets::MasterKey.read.identity) end, encrypt : Proc(String, String) = ->(pt : String) do Secrets::Vault.encrypt(pt, Secrets::Recipients.encryption_keys) end)
Source

Instance methods

exists?
Source
path
Source
read_key(var : String) : String | Nil

Clé rangée pour var, nil si absente.

Source
store(var : String, hex : String) : StoreResult

Range la clé : déchiffre, insère (ZfsKeys.insert), relit le résultat, chiffre et remplace le coffre d'un bloc (fichier temporaire 0600 puis rename : un coffre à moitié écrit perdrait TOUS les secrets de la société).

Source