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§
Sourcefn store_key(
&mut self,
key_id: &String,
encrypted_key: &[u8],
) -> EncryptionResult<()>
fn store_key( &mut self, key_id: &String, encrypted_key: &[u8], ) -> EncryptionResult<()>
Store an encrypted key
Sourcefn retrieve_key(&self, key_id: &String) -> EncryptionResult<Vec<u8>>
fn retrieve_key(&self, key_id: &String) -> EncryptionResult<Vec<u8>>
Retrieve an encrypted key
Sourcefn delete_key(&mut self, key_id: &String) -> EncryptionResult<()>
fn delete_key(&mut self, key_id: &String) -> EncryptionResult<()>
Delete a key
Sourcefn key_exists(&self, key_id: &String) -> bool
fn key_exists(&self, key_id: &String) -> bool
Check if a key exists