Expand description
§Message framing
This module contains framing-related operations for MLS messages, including validation operations. The general structure of the framing process in OpenMLS closely mirrors the one described in Section 7 of the MLS specification. It can be visualized as follows:
Proposal Commit Application Data
| | |
+--------------+--------------+
|
V
FramedContent
| | -.
| | |
+--------+ | |
| | |
V | +-- Asymmetric
FramedContentAuthData | | Sign / Verify
| | |
+--------+ | |
| | |
V V -'
AuthenticatedContent
| -.
| |
| |
+--------+--------+ +-- Symmetric
| | | Protect / Unprotect
V V |
Welcome KeyPackage GroupInfo PublicMessage PrivateMessage -'
| | | | |
| | | | |
+----------+----------+----+--------+-----------------+
|
V
MLSMessage
MlsMessageIn
/MlsMessageOut
: Unified message type for incoming & outgoing MLS messagesApplicationMessage
: Application message received through aProcessedMessage
Modules§
- Framing errors.
Structs§
- Application message received through a ProcessedMessage.
- Before use with the
MlsGroup
API, the message has to be unpacked viaextract
to yield itsMlsMessageBodyIn
. - An
MlsMessageOut
is typically returned from anMlsGroup
function and meant to be serialized and sent to the DS. PrivateMessage
is the framing struct for an encryptedPublicMessage
. This message format is meant to be sent to and received from the Delivery Service.PrivateMessage
is the framing struct for an encryptedPublicMessage
. This message format is meant to be sent to and received from the Delivery Service.- A message that has passed all syntax and semantics checks.
PublicMessage
is a framing structure for MLS messages. It can contain Proposals, Commits and application messages.PublicMessageIn
is a framing structure for MLS messages. It can contain Proposals, Commits and application messages.
Enums§
- MLSMessage (Body)
- MLSMessage (Body)
- Content of a processed message.
- Enum containing a message for use with
process_message
and anMlsGroup
. BothPublicMessage
andPrivateMessage
implementInto<ProtocolMessage>
. - All possible sender types according to the MLS protocol spec.
- Wire format of MLS messages.