Skip to main content

KeyStore

Trait KeyStore 

Source
pub trait KeyStore {
    // Required methods
    fn save_seed(&self, seed: &[u8; 32]) -> Result<(), KeyStoreError>;
    fn load_seed(&self) -> Result<[u8; 32], KeyStoreError>;
    fn delete_seed(&self) -> Result<(), KeyStoreError>;
}
Expand description

Secure storage for a 32-byte identity seed. Implement this directly for a backend other than KeyringStore (a hardware security module, a different vault) — this is the override point “per target platform” hangs off, not a platform enum this crate switches on internally.

Required Methods§

Source

fn save_seed(&self, seed: &[u8; 32]) -> Result<(), KeyStoreError>

Persist seed, overwriting any value already stored under this store’s identity.

Source

fn load_seed(&self) -> Result<[u8; 32], KeyStoreError>

Retrieve a previously-save_seedd seed. KeyStoreError::NotFound if nothing has been stored yet.

Source

fn delete_seed(&self) -> Result<(), KeyStoreError>

Remove a previously-stored seed, if any. Not required before a save_seed (which overwrites), only for deliberately forgetting an identity.

Dyn Compatibility§

This trait is dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementors§

Source§

impl KeyStore for KeyringStore

Source§

impl KeyStore for LinuxKeyutilsStore

Available on Linux only.