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::*;
Structs§
- Application message received through a ProcessedMessage.
- Capabilities of
LeafNode
s. - A helper for building
Capabilities
- 7.7. Update Paths
- Convenience tuple struct for an HPKE configuration.
- Helper holding a (private, public) key pair as byte vectors.
- A simple type for HPKE private keys.
- This struct implements the MLS leaf node.
- LeafNodeIndex references a leaf node in a tree.
- Parameters for a leaf node that can be chosen by the application.
- 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. - 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.
- A message that has passed all syntax and semantics checks.
- This struct holds all public values of an MLS group.
- Stores the configuration parameters for
DecryptionRatchet
s. - A 3 byte wide unsigned integer type as defined in RFC 5246.
- Variable-length encoded byte vectors. Use this struct if bytes are encoded. This is faster than the generic version.
- A currently unknown ciphersuite.
Enums§
- AEAD types
- MLS ciphersuites.
- Public group creation from external error.
- Crypto errors.
- Errors that are thrown by this crate.
- Hash types
- AEAD Types for HPKE.
- KDF Types for HPKE
- KEM Types for HPKE
- MLSMessage (Body)
- Container enum for leaf and parent nodes.
- Content of a processed message.
- Enum containing a message for use with
process_message
and anMlsGroup
. BothPublicMessage
andPrivateMessage
implementInto<ProtocolMessage>
. - Public group builder error.
- All possible sender types according to the MLS protocol spec.
- SignatureScheme according to IANA TLS parameters
Traits§
- 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. - The OpenMLS Crypto Provider Trait
- The
SerializeBytes
trait provides a function 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.