Struct mls_crypto_provider::MlsCryptoProvider
source · pub struct MlsCryptoProvider { /* private fields */ }
Implementations§
source§impl MlsCryptoProvider
impl MlsCryptoProvider
sourcepub async fn try_new_with_configuration(
config: MlsCryptoProviderConfiguration<'_>,
) -> MlsProviderResult<Self>
pub async fn try_new_with_configuration( config: MlsCryptoProviderConfiguration<'_>, ) -> MlsProviderResult<Self>
Initialize a CryptoProvider with a backend following the provided config
(see: MlsCryptoProviderConfiguration)
pub async fn try_new( db_path: impl AsRef<str>, identity_key: impl AsRef<str>, ) -> MlsProviderResult<Self>
pub async fn try_new_in_memory( identity_key: impl AsRef<str>, ) -> MlsProviderResult<Self>
sourcepub fn new_with_store(
key_store: CryptoKeystore,
entropy_seed: Option<EntropySeed>,
) -> Self
pub fn new_with_store( key_store: CryptoKeystore, entropy_seed: Option<EntropySeed>, ) -> Self
Initialize a CryptoProvided with an already-configured backing store
sourcepub async fn new_transaction(&self) -> MlsProviderResult<()>
pub async fn new_transaction(&self) -> MlsProviderResult<()>
Clones the references of the PkiEnvironment and the CryptoProvider into a transaction
keystore to pass to openmls as the OpenMlsCryptoProvider
sourcepub async fn update_pki_env(
&self,
pki_env: PkiEnvironment,
) -> MlsProviderResult<()>
pub async fn update_pki_env( &self, pki_env: PkiEnvironment, ) -> MlsProviderResult<()>
Replaces the PKI env currently in place
sourcepub async fn is_pki_env_setup(&self) -> bool
pub async fn is_pki_env_setup(&self) -> bool
Returns whether we have a PKI env setup
sourcepub fn reseed(&self, entropy_seed: Option<EntropySeed>) -> MlsProviderResult<()>
pub fn reseed(&self, entropy_seed: Option<EntropySeed>) -> MlsProviderResult<()>
Reseeds the internal CSPRNG entropy pool with a brand new one.
If None is provided, the new entropy will be pulled through the current OS target’s capabilities
sourcepub async fn close(self) -> MlsProviderResult<()>
pub async fn close(self) -> MlsProviderResult<()>
Closes this provider, which in turns tears down the backing store
Note: This does not destroy the data on-disk in case of persistent backing store
sourcepub async fn destroy_and_reset(self) -> MlsProviderResult<()>
pub async fn destroy_and_reset(self) -> MlsProviderResult<()>
Tears down this provider and obliterates every single piece of data stored on disk.
you have been warned
sourcepub fn keystore(&self) -> CryptoKeystore
pub fn keystore(&self) -> CryptoKeystore
Clone keystore (its an Arc
internnaly)
sourcepub fn unwrap_keystore(self) -> CryptoKeystore
pub fn unwrap_keystore(self) -> CryptoKeystore
Allows to retrieve the underlying key store directly
Trait Implementations§
source§impl Clone for MlsCryptoProvider
impl Clone for MlsCryptoProvider
source§fn clone(&self) -> MlsCryptoProvider
fn clone(&self) -> MlsCryptoProvider
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moresource§impl Debug for MlsCryptoProvider
impl Debug for MlsCryptoProvider
source§impl OpenMlsCryptoProvider for MlsCryptoProvider
impl OpenMlsCryptoProvider for MlsCryptoProvider
type CryptoProvider = RustCrypto
type RandProvider = RustCrypto
type KeyStoreProvider = Connection
type AuthenticationServiceProvider = PkiEnvironmentProvider
source§fn authentication_service(&self) -> &Self::AuthenticationServiceProvider
fn authentication_service(&self) -> &Self::AuthenticationServiceProvider
Auto Trait Implementations§
impl Freeze for MlsCryptoProvider
impl !RefUnwindSafe for MlsCryptoProvider
impl Send for MlsCryptoProvider
impl Sync for MlsCryptoProvider
impl Unpin for MlsCryptoProvider
impl !UnwindSafe for MlsCryptoProvider
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
source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
clone_to_uninit
)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>
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>
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 more