pub trait OpenMlsProvider {
    type CryptoProvider: OpenMlsCrypto;
    type RandProvider: OpenMlsRand;
    type StorageProvider: StorageProvider<openmls_traits::::OpenMlsProvider::StorageProvider::{constant#0}>;

    // Required methods
    fn storage(&self) -> &Self::StorageProvider;
    fn crypto(&self) -> &Self::CryptoProvider;
    fn rand(&self) -> &Self::RandProvider;
}
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§

type CryptoProvider: OpenMlsCrypto

type RandProvider: OpenMlsRand

type StorageProvider: StorageProvider<openmls_traits::::OpenMlsProvider::StorageProvider::{constant#0}>

Required Methods§

fn storage(&self) -> &Self::StorageProvider

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

Get the crypto provider.

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

Get the randomness provider.

Implementors§