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§
Structs§
- Application
Message - Application message received through a ProcessedMessage.
- Capabilities
- Capabilities of
LeafNode
s. - Capabilities
Builder - A helper for building
Capabilities
- Exporter
Secret - Hpke
Ciphertext - 7.7. Update Paths
- Hpke
Config - Convenience tuple struct for an HPKE configuration.
- Hpke
KeyPair - Helper holding a (private, public) key pair as byte vectors.
- Hpke
Private Key - A simple type for HPKE private keys.
- Leaf
Node - This struct implements the MLS leaf node.
- Leaf
Node Index - LeafNodeIndex references a leaf node in a tree.
- Leaf
Node Parameters - Parameters for a leaf node that can be chosen by the application.
- MlsMessage
In - Before use with the
MlsGroup
API, the message has to be unpacked viaextract
to yield itsMlsMessageBodyIn
. - MlsMessage
Out - An
MlsMessageOut
is typically returned from anMlsGroup
function and meant to be serialized and sent to the DS. - Parent
Node - 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.
- Processed
Message - A message that has passed all syntax and semantics checks.
- Public
Group - This struct holds all public values of an MLS group.
- Secret
TlsVec U8 - Secret
TlsVec U16 - Secret
TlsVec U24 - Secret
TlsVec U32 - SecretVL
Bytes - A wrapper struct around
VLBytes
that implements [ZeroizeOnDrop
]. It behaves just likeVLBytes
, except that it doesn’t allow conversion into aVec<u8>
. - Sender
Ratchet Configuration - Stores the configuration parameters for
DecryptionRatchet
s. - TlsByte
Slice U8 - TlsByte
Slice U16 - TlsByte
Slice U24 - TlsByte
Slice U32 - TlsByte
VecU8 - TlsByte
VecU16 - TlsByte
VecU24 - TlsByte
VecU32 - TlsSlice
U8 - TlsSlice
U16 - TlsSlice
U24 - TlsSlice
U32 - TlsVec
U8 - TlsVec
U16 - TlsVec
U24 - TlsVec
U32 - U24
- A 3 byte wide unsigned integer type as defined in RFC 5246.
- VLByte
Slice - VLBytes
- Variable-length encoded byte vectors. Use this struct if bytes are encoded. This is faster than the generic version.
- Verifiable
Ciphersuite - A currently unknown ciphersuite.
Enums§
- Aead
Type - AEAD types
- Ciphersuite
- MLS ciphersuites.
- Creation
From External Error - Public group creation from external error.
- Crypto
Error - Crypto errors.
- Error
- Errors that are thrown by this crate.
- Hash
Type - Hash types
- Hpke
Aead Type - AEAD Types for HPKE.
- Hpke
KdfType - KDF Types for HPKE
- Hpke
KemType - KEM Types for HPKE
- MlsMessage
Body In - MLSMessage (Body)
- Node
- Container enum for leaf and parent nodes.
- Processed
Message Content - Content of a processed message.
- Protocol
Message - Enum containing a message for use with
process_message
and anMlsGroup
. BothPublicMessage
andPrivateMessage
implementInto<ProtocolMessage>
. - Public
Group Build Error - Public group builder error.
- Sender
- All possible sender types according to the MLS protocol spec.
- Signature
Scheme - SignatureScheme according to IANA TLS parameters
Traits§
- Deserialize
Bytes - 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. - Open
MlsCrypto - Open
MlsProvider - The OpenMLS Crypto Provider Trait
- Open
MlsRand - Serialize
Bytes - 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.