pub struct KeyManager { /* private fields */ }
Expand description
Key manager for generating, rotating, and managing encryption keys
Implementations§
Source§impl KeyManager
impl KeyManager
Sourcepub async fn generate_key(
&self,
algorithm: EncryptionAlgorithm,
) -> Result<EncryptionKey, SyncError>
pub async fn generate_key( &self, algorithm: EncryptionAlgorithm, ) -> Result<EncryptionKey, SyncError>
Generate a new encryption key
Sourcepub async fn rotate_key(
&self,
old_key: &EncryptionKey,
) -> Result<EncryptionKey, SyncError>
pub async fn rotate_key( &self, old_key: &EncryptionKey, ) -> Result<EncryptionKey, SyncError>
Rotate an existing key
Sourcepub async fn derive_key_from_password(
&self,
password: &str,
salt: &[u8],
) -> Result<Vec<u8>, SyncError>
pub async fn derive_key_from_password( &self, password: &str, salt: &[u8], ) -> Result<Vec<u8>, SyncError>
Derive key from password using SHA-256
Sourcepub async fn get_key(&self, key_id: &str) -> Option<EncryptionKey>
pub async fn get_key(&self, key_id: &str) -> Option<EncryptionKey>
Get key by ID
Sourcepub async fn list_keys(&self) -> Vec<EncryptionKey>
pub async fn list_keys(&self) -> Vec<EncryptionKey>
List all keys
Sourcepub async fn cleanup_expired_keys(&self) -> usize
pub async fn cleanup_expired_keys(&self) -> usize
Clean up expired keys
Auto Trait Implementations§
impl !Freeze for KeyManager
impl !RefUnwindSafe for KeyManager
impl Send for KeyManager
impl Sync for KeyManager
impl Unpin for KeyManager
impl !UnwindSafe for KeyManager
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
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreSource§impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
Source§impl<T> SerializableKey for T
impl<T> SerializableKey for T
Source§impl<T> StorageAccess<T> for T
impl<T> StorageAccess<T> for T
Source§fn as_borrowed(&self) -> &T
fn as_borrowed(&self) -> &T
Borrows the value.
Source§fn into_taken(self) -> T
fn into_taken(self) -> T
Takes the value.