pub struct KeyStore { /* private fields */ }Expand description
In-memory key store with automatic cleanup
Implementations§
Source§impl KeyStore
impl KeyStore
Sourcepub fn store_key(
&mut self,
key_id: String,
key: SecureKey,
metadata: KeyMetadata,
) -> Result<(), CryptoError>
pub fn store_key( &mut self, key_id: String, key: SecureKey, metadata: KeyMetadata, ) -> Result<(), CryptoError>
Store a key with metadata
Sourcepub fn get_key(&self, key_id: &str) -> Option<(&SecureKey, KeyMetadata)>
pub fn get_key(&self, key_id: &str) -> Option<(&SecureKey, KeyMetadata)>
Retrieve a key (returns clone of metadata but reference to key)
Sourcepub fn remove_key(&mut self, key_id: &str) -> Option<(SecureKey, KeyMetadata)>
pub fn remove_key(&mut self, key_id: &str) -> Option<(SecureKey, KeyMetadata)>
Remove a key
Sourcepub fn cleanup_expired(&mut self) -> usize
pub fn cleanup_expired(&mut self) -> usize
Clean up expired keys
Sourcepub fn rotate_key(&mut self, key_id: &str) -> Result<(), CryptoError>
pub fn rotate_key(&mut self, key_id: &str) -> Result<(), CryptoError>
Rotate a key (generate new key, increment rotation counter)
Sourcepub fn find_by_purpose(&self, purpose: &str) -> Vec<(String, KeyMetadata)>
pub fn find_by_purpose(&self, purpose: &str) -> Vec<(String, KeyMetadata)>
Find keys by purpose
Sourcepub fn keys_requiring_rotation(&self, max_age_seconds: u64) -> Vec<String>
pub fn keys_requiring_rotation(&self, max_age_seconds: u64) -> Vec<String>
Get keys requiring rotation (older than specified age in seconds)
Trait Implementations§
Auto Trait Implementations§
impl Freeze for KeyStore
impl RefUnwindSafe for KeyStore
impl Send for KeyStore
impl Sync for KeyStore
impl Unpin for KeyStore
impl UnwindSafe for KeyStore
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more