Expand description

Single place, re-exporting the most used public functions. Prelude for OpenMLS. Include this to get access to all the public functions of OpenMLS.


pub use crate::group::errors::*;
pub use crate::group::*;
pub use crate::ciphersuite::hash_ref::KeyPackageRef;
pub use crate::ciphersuite::signable::*;
pub use crate::ciphersuite::signature::*;
pub use crate::ciphersuite::*;
pub use crate::messages::proposals::*;
pub use crate::messages::public_group_state::*;
pub use crate::messages::*;
pub use crate::credentials::errors::*;
pub use crate::credentials::*;
pub use crate::versions::*;
pub use crate::extensions::errors::*;
pub use crate::extensions::*;
pub use crate::key_packages::errors::*;
pub use crate::key_packages::*;
pub use crate::treesync::errors::ApplyUpdatePathError;
pub use crate::treesync::errors::PublicTreeError;
pub use crate::error::*;


Application message received through a ProcessedMessage.

7.7. Update Paths

Convenience tuple struct for an HPKE configuration.

Helper holding a (private, public) key pair as byte vectors.

This struct implements the MLS leaf node and contains a KeyPackage and potentially a corresponding HpkePrivateKey.

Unified message type for incoming MLS messages.

Unified message type for outgoing MLS messages.

This struct implements the MLS parent node. It contains its public key, parent hash and unmerged leaves. Additionally, it may contain the private key corresponding to the public key.

Stores the configuration parameters for DecryptionRatchets.

Partially checked and potentially decrypted message (if it was originally encrypted). Use this to inspect the Credential of the message sender and the optional aad if the original message was encrypted.


AEAD types

MLS ciphersuites.

Crypto errors.

Trait errors.

Hash types

AEAD Types for HPKE.

KDF Types for HPKE

KEM Types for HPKE

Container enum for leaf and parent nodes.

A message that has passed all syntax and semantics checks.

All possible sender types according to the MLS protocol spec.

SignatureScheme according to IANA TLS parameters


The OpenMLS Crypto Provider Trait

The Key Store trait

The Deserialize trait defines functions to deserialize a byte slice to a struct or enum.

The Serialize trait provides functions to serialize a struct or enum.

The Size trait needs to be implemented by any struct that should be efficiently serialized. This allows to collect the length of a serialized structure before allocating memory.

Type Definitions