Module prelude

Source
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::Member;
pub use crate::ciphersuite::hash_ref::KeyPackageRef;
pub use crate::treesync::errors::ApplyUpdatePathError;
pub use crate::treesync::errors::PublicTreeError;
pub use crate::treesync::RatchetTreeIn;
pub use tls_codec;
pub use crate::group::*;
pub use crate::ciphersuite::signable::*;
pub use crate::ciphersuite::signature::*;
pub use crate::ciphersuite::*;
pub use crate::messages::external_proposals::*;
pub use crate::messages::proposals::*;
pub use crate::messages::proposals_in::*;
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::framing::*;
pub use crate::key_packages::errors::*;
pub use crate::key_packages::*;
pub use crate::error::*;

Modules§

vlen

Structs§

ApplicationMessage
Application message received through a ProcessedMessage.
Capabilities
Capabilities of LeafNodes.
CapabilitiesBuilder
A helper for building Capabilities
ExporterSecret
HpkeCiphertext
7.7. Update Paths
HpkeConfig
Convenience tuple struct for an HPKE configuration.
HpkeKeyPair
Helper holding a (private, public) key pair as byte vectors.
HpkePrivateKey
A simple type for HPKE private keys.
LeafNode
This struct implements the MLS leaf node.
LeafNodeIndex
LeafNodeIndex references a leaf node in a tree.
LeafNodeParameters
Parameters for a leaf node that can be chosen by the application.
MlsMessageIn
Before use with the MlsGroup API, the message has to be unpacked via extract to yield its MlsMessageBodyIn.
MlsMessageOut
An MlsMessageOut is typically returned from an MlsGroup function and meant to be serialized and sent to the DS.
ParentNode
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.
ProcessedMessage
A message that has passed all syntax and semantics checks.
PublicGroup
This struct holds all public values of an MLS group.
SecretTlsVecU8
SecretTlsVecU16
SecretTlsVecU24
SecretTlsVecU32
SecretVLBytes
A wrapper struct around VLBytes that implements [ZeroizeOnDrop]. It behaves just like VLBytes, except that it doesn’t allow conversion into a Vec<u8>.
SenderRatchetConfiguration
Stores the configuration parameters for DecryptionRatchets.
TlsByteSliceU8
TlsByteSliceU16
TlsByteSliceU24
TlsByteSliceU32
TlsByteVecU8
TlsByteVecU16
TlsByteVecU24
TlsByteVecU32
TlsSliceU8
TlsSliceU16
TlsSliceU24
TlsSliceU32
TlsVecU8
TlsVecU16
TlsVecU24
TlsVecU32
U24
A 3 byte wide unsigned integer type as defined in RFC 5246.
VLByteSlice
VLBytes
Variable-length encoded byte vectors. Use this struct if bytes are encoded. This is faster than the generic version.
VerifiableCiphersuite
A currently unknown ciphersuite.

Enums§

AeadType
AEAD types
Ciphersuite
MLS ciphersuites.
CreationFromExternalError
Public group creation from external error.
CryptoError
Crypto errors.
Error
Errors that are thrown by this crate.
HashType
Hash types
HpkeAeadType
AEAD Types for HPKE.
HpkeKdfType
KDF Types for HPKE
HpkeKemType
KEM Types for HPKE
MlsMessageBodyIn
MLSMessage (Body)
Node
Container enum for leaf and parent nodes.
ProcessedMessageContent
Content of a processed message.
ProtocolMessage
Enum containing a message for use with process_message and an MlsGroup. Both PublicMessage and PrivateMessage implement Into<ProtocolMessage>.
PublicGroupBuildError
Public group builder error.
Sender
All possible sender types according to the MLS protocol spec.
SignatureScheme
SignatureScheme according to IANA TLS parameters

Traits§

DeserializeBytes
The DeserializeBytes trait defines functions to deserialize a byte slice to a struct or enum. In contrast to [Deserialize], this trait operates directly on byte slices and can return any remaining bytes.
OpenMlsCrypto
OpenMlsProvider
The OpenMLS Crypto Provider Trait
OpenMlsRand
SerializeBytes
The SerializeBytes trait provides a function to serialize a struct or enum.
Size
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 Aliases§

KemOutput

Derive Macros§

TlsDeserialize
TlsDeserializeBytes
TlsSerialize
TlsSerializeBytes
TlsSize