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.

Re-exports

pub use crate::group::*;
pub use crate::group::errors::*;
pub use crate::ciphersuite::ciphersuites::*;
pub use crate::ciphersuite::hash_ref::KeyPackageRef;
pub use crate::ciphersuite::signable::*;
pub use crate::ciphersuite::*;
pub use crate::messages::*;
pub use crate::credentials::*;
pub use crate::config::*;
pub use crate::extensions::*;
pub use crate::key_packages::*;
pub use crate::key_store::*;
pub use crate::treesync::node::Node;
pub use crate::error::*;

Structs

Application message received through a ProcessedMessage.

Branch PSK

Intermediate message that can be constructed either from a plaintext message or from ciphertext message. If it it constructed from a ciphertext message, the ciphertext message is decrypted first. This function implements the following checks:

External PSK.

Unified message type for incoming MLS messages.

Unified message type for outgoing MLS messages.

A PreSharedKeyID is used to uniquely identify the PSKs that get injected in the key schedule.

PreSharedKeys is a vector of PreSharedKeyIDs. struct { PreSharedKeyID psks<0..2^16-1>; } PreSharedKeys;

Contains the secret part of the PSK as well as the public part that is used as a marker for injection into the key schedule.

ReInit PSK.

Stores the configuration parameters for sender ratchets.

Partially checked and potentially decrypted message. Use this to inspect the Credential of the message sender and the optional aad if the original message was an [MlsCiphertext].

External message, where all semantic checks on the framing have been successfully performed. Note: External messages are not fully supported yet #106

Member message, where all semantic checks on the framing have been successfully performed.

Enums

An error that occurs in methods of a [Credential].

Message that contains messages that are syntactically and semantically correct. StagedCommit and QueuedProposal can be inspected for authorization purposes.

PSK enum that can contain the different PSK types

Type of PSK.

Contains an [VerifiableMlsPlaintext] and a Credential if it is a message from a Member or a NewMember. It sets the serialized group context and verifies the membership tag for member messages. It can be converted to a verified message by verifying the signature, either with the credential or an external signature key.

Traits

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

Index type to index the leaves in the binary tree