OpenMLS is a Rust implementation of the Messaging Layer Security (MLS) protocol, as specified in RFC 9420. OpenMLS provides a high-level API to create and manage MLS groups. It supports basic ciphersuites and an interchangeable cryptographic provider, key store, and random number generator.
This book provides guidance on using OpenMLS and its
MlsGroup API to perform basic group operations, illustrated with examples.
- MLS_128_HPKEX25519_AES128GCM_SHA256_Ed25519 (MTI)
OpenMLS is built and tested on the Github CI for the following rust targets.
The Github CI also builds (but doesn't test) the following rust targets.
OpenMLS supports 32 bit platforms and above.
OpenMLS does not implement its own cryptographic primitives. Instead, it relies on existing implementations of the cryptographic primitives used by MLS. There are two different cryptography providers implemented right now. But consumers can bring their own implementation. See traits for more details.
For more details when working on OpenMLS itself please see the Developer.md.