Expand description

OpenMLS

OpenMLS is an implementation of the MLS RFC.

The main entry point for most consumers should be the MlsGroup. It provides an safe, opinionated API for interacting with core groups.

Error handling

OpenMLS is panic-free. All functions that can potentially fail at some point return a Result.

Each module has an errors.rs defining module specific errors that are used within the crate. This exposes some of the module errors that are publicly relevant. All errors implement the Error trait and PartialEq.

See the error module for more details.

Modules

Ciphersuites for MLS

This config contains all structs, enums and functions to configure MLS.

Credentials

OpenMLS Errors

Extensions

Message framing

Group APIs for MLS

Key Packages.

Serialization for key store objects.

MLS messages and message framing.

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

This module represents the key schedule as introduced in Section 8 of the MLS specification. The key schedule evolves in epochs, where in each epoch new key material is injected.

This module implements the ratchet tree component of MLS.