KeyStorage

Trait KeyStorage 

Source
pub trait KeyStorage: Send + Sync {
    // Required methods
    fn store_key(
        &mut self,
        key_id: &String,
        encrypted_key: &[u8],
    ) -> EncryptionResult<()>;
    fn retrieve_key(&self, key_id: &String) -> EncryptionResult<Vec<u8>>;
    fn delete_key(&mut self, key_id: &String) -> EncryptionResult<()>;
    fn key_exists(&self, key_id: &String) -> bool;
    fn list_keys(&self) -> Vec<String>;
}
Expand description

Key storage interface for different key storage backends

Required Methods§

Source

fn store_key( &mut self, key_id: &String, encrypted_key: &[u8], ) -> EncryptionResult<()>

Store an encrypted key

Source

fn retrieve_key(&self, key_id: &String) -> EncryptionResult<Vec<u8>>

Retrieve an encrypted key

Source

fn delete_key(&mut self, key_id: &String) -> EncryptionResult<()>

Delete a key

Source

fn key_exists(&self, key_id: &String) -> bool

Check if a key exists

Source

fn list_keys(&self) -> Vec<String>

List all key IDs

Implementors§