pub struct RealSecureStorageHandler { /* private fields */ }Expand description
Real secure storage handler for production use
Implementations§
Source§impl RealSecureStorageHandler
impl RealSecureStorageHandler
Sourcepub fn with_base_path(base_path: PathBuf) -> Self
pub fn with_base_path(base_path: PathBuf) -> Self
Create a secure storage handler with a custom base path.
The secure storage files will be placed in base_path/secure_store/.
Trait Implementations§
Source§impl Debug for RealSecureStorageHandler
impl Debug for RealSecureStorageHandler
Source§impl SecureStorageEffects for RealSecureStorageHandler
impl SecureStorageEffects for RealSecureStorageHandler
Source§fn secure_store<'life0, 'life1, 'life2, 'life3, 'async_trait>(
&'life0 self,
location: &'life1 SecureStorageLocation,
key: &'life2 [u8],
caps: &'life3 [SecureStorageCapability],
) -> Pin<Box<dyn Future<Output = Result<(), SecureStorageError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
fn secure_store<'life0, 'life1, 'life2, 'life3, 'async_trait>(
&'life0 self,
location: &'life1 SecureStorageLocation,
key: &'life2 [u8],
caps: &'life3 [SecureStorageCapability],
) -> Pin<Box<dyn Future<Output = Result<(), SecureStorageError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
Store data securely with optional capabilities Read more
Source§fn secure_retrieve<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
location: &'life1 SecureStorageLocation,
caps: &'life2 [SecureStorageCapability],
) -> Pin<Box<dyn Future<Output = Result<Vec<u8>, SecureStorageError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn secure_retrieve<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
location: &'life1 SecureStorageLocation,
caps: &'life2 [SecureStorageCapability],
) -> Pin<Box<dyn Future<Output = Result<Vec<u8>, SecureStorageError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Retrieve data from secure storage Read more
Source§fn secure_delete<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
location: &'life1 SecureStorageLocation,
caps: &'life2 [SecureStorageCapability],
) -> Pin<Box<dyn Future<Output = Result<(), SecureStorageError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn secure_delete<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
location: &'life1 SecureStorageLocation,
caps: &'life2 [SecureStorageCapability],
) -> Pin<Box<dyn Future<Output = Result<(), SecureStorageError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Delete data from secure storage Read more
Source§fn secure_exists<'life0, 'life1, 'async_trait>(
&'life0 self,
location: &'life1 SecureStorageLocation,
) -> Pin<Box<dyn Future<Output = Result<bool, SecureStorageError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn secure_exists<'life0, 'life1, 'async_trait>(
&'life0 self,
location: &'life1 SecureStorageLocation,
) -> Pin<Box<dyn Future<Output = Result<bool, SecureStorageError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Check if data exists at the given location Read more
Source§fn secure_list_keys<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
namespace: &'life1 str,
caps: &'life2 [SecureStorageCapability],
) -> Pin<Box<dyn Future<Output = Result<Vec<String>, SecureStorageError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn secure_list_keys<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
namespace: &'life1 str,
caps: &'life2 [SecureStorageCapability],
) -> Pin<Box<dyn Future<Output = Result<Vec<String>, SecureStorageError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
List available keys in a namespace Read more
Source§fn secure_generate_key<'life0, 'life1, 'life2, 'life3, 'async_trait>(
&'life0 self,
location: &'life1 SecureStorageLocation,
context: &'life2 str,
caps: &'life3 [SecureStorageCapability],
) -> Pin<Box<dyn Future<Output = Result<Option<Vec<u8>>, SecureStorageError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
fn secure_generate_key<'life0, 'life1, 'life2, 'life3, 'async_trait>(
&'life0 self,
location: &'life1 SecureStorageLocation,
context: &'life2 str,
caps: &'life3 [SecureStorageCapability],
) -> Pin<Box<dyn Future<Output = Result<Option<Vec<u8>>, SecureStorageError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
Generate and store a new cryptographic key Read more
Source§fn secure_create_time_bound_token<'life0, 'life1, 'life2, 'life3, 'async_trait>(
&'life0 self,
location: &'life1 SecureStorageLocation,
caps: &'life2 [SecureStorageCapability],
expires_at: &'life3 PhysicalTime,
) -> Pin<Box<dyn Future<Output = Result<Vec<u8>, SecureStorageError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
fn secure_create_time_bound_token<'life0, 'life1, 'life2, 'life3, 'async_trait>(
&'life0 self,
location: &'life1 SecureStorageLocation,
caps: &'life2 [SecureStorageCapability],
expires_at: &'life3 PhysicalTime,
) -> Pin<Box<dyn Future<Output = Result<Vec<u8>, SecureStorageError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
Create a time-bound access token Read more
Source§fn secure_access_with_token<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
token: &'life1 [u8],
_location: &'life2 SecureStorageLocation,
) -> Pin<Box<dyn Future<Output = Result<Vec<u8>, SecureStorageError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn secure_access_with_token<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
token: &'life1 [u8],
_location: &'life2 SecureStorageLocation,
) -> Pin<Box<dyn Future<Output = Result<Vec<u8>, SecureStorageError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Use a time-bound token to access data Read more
Source§fn get_device_attestation<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<Vec<u8>, SecureStorageError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn get_device_attestation<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<Vec<u8>, SecureStorageError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Get device attestation for secure operations Read more
Auto Trait Implementations§
impl Freeze for RealSecureStorageHandler
impl RefUnwindSafe for RealSecureStorageHandler
impl Send for RealSecureStorageHandler
impl Sync for RealSecureStorageHandler
impl Unpin for RealSecureStorageHandler
impl UnsafeUnpin for RealSecureStorageHandler
impl UnwindSafe for RealSecureStorageHandler
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