pub trait OpenMlsCryptoProvider: Send + Sync {
    type CryptoProvider: OpenMlsCrypto;
    type RandProvider: OpenMlsRand;
    type KeyStoreProvider: OpenMlsKeyStore;

    // Required methods
    fn crypto(&self) -> &Self::CryptoProvider;
    fn rand(&self) -> &Self::RandProvider;
    fn key_store(&self) -> &Self::KeyStoreProvider;
}
Expand description

The OpenMLS Crypto Provider Trait

An implementation of this trait must be passed in to the public OpenMLS API to perform randomness generation, cryptographic operations, and key storage.

Required Associated Types§

Required Methods§

source

fn crypto(&self) -> &Self::CryptoProvider

Get the crypto provider.

source

fn rand(&self) -> &Self::RandProvider

Get the randomness provider.

source

fn key_store(&self) -> &Self::KeyStoreProvider

Get the key store provider.

Implementors§