Struct KeyPackage
pub struct KeyPackage { /* private fields */ }Expand description
The key package struct.
Implementations§
§impl KeyPackage
 
impl KeyPackage
pub fn builder() -> KeyPackageBuilder
pub fn builder() -> KeyPackageBuilder
Create a key package builder.
This is provided for convenience. You can also use [KeyPackageBuilder::new].
pub async fn delete<KeyStore>(
    &self,
    backend: &impl OpenMlsCryptoProvider<KeyStoreProvider = KeyStore>,
) -> Result<(), KeyPackageDeleteError<<KeyStore as OpenMlsKeyStore>::Error>>where
    KeyStore: OpenMlsKeyStore,
pub async fn delete<KeyStore>(
    &self,
    backend: &impl OpenMlsCryptoProvider<KeyStoreProvider = KeyStore>,
) -> Result<(), KeyPackageDeleteError<<KeyStore as OpenMlsKeyStore>::Error>>where
    KeyStore: OpenMlsKeyStore,
Delete this key package and its private key from the key store.
pub fn extensions(&self) -> &Extensions
pub fn extensions(&self) -> &Extensions
Get a reference to the extensions of this key package.
pub fn check_extension_support(
    &self,
    required_extensions: &[ExtensionType],
) -> Result<(), KeyPackageExtensionSupportError>
pub fn check_extension_support( &self, required_extensions: &[ExtensionType], ) -> Result<(), KeyPackageExtensionSupportError>
Check whether the this key package supports all the required extensions in the provided list.
pub fn hash_ref(
    &self,
    backend: &impl OpenMlsCrypto,
) -> Result<HashReference, LibraryError>
pub fn hash_ref( &self, backend: &impl OpenMlsCrypto, ) -> Result<HashReference, LibraryError>
Compute the KeyPackageRef of this KeyPackage.
The KeyPackageRef is used to identify a new member that should get
added to a group.
pub fn ciphersuite(&self) -> Ciphersuite
pub fn ciphersuite(&self) -> Ciphersuite
Get the Ciphersuite.
pub fn leaf_node(&self) -> &LeafNode
pub fn leaf_node(&self) -> &LeafNode
Get the [LeafNode] reference.
pub fn hpke_init_key(&self) -> &VLBytes
pub fn hpke_init_key(&self) -> &VLBytes
Get the public HPKE init key of this key package.
impl KeyPackage
This impl block contains no items.
Crate visible KeyPackage functions.
Trait Implementations§
§impl Clone for KeyPackage
 
impl Clone for KeyPackage
§fn clone(&self) -> KeyPackage
 
fn clone(&self) -> KeyPackage
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
 
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from 
source. Read more§impl Debug for KeyPackage
 
impl Debug for KeyPackage
§impl<'de> Deserialize<'de> for KeyPackage
 
impl<'de> Deserialize<'de> for KeyPackage
§fn deserialize<__D>(
    __deserializer: __D,
) -> Result<KeyPackage, <__D as Deserializer<'de>>::Error>where
    __D: Deserializer<'de>,
 
fn deserialize<__D>(
    __deserializer: __D,
) -> Result<KeyPackage, <__D as Deserializer<'de>>::Error>where
    __D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
§impl From<KeyPackage> for KeyPackageIn
 
impl From<KeyPackage> for KeyPackageIn
§fn from(value: KeyPackage) -> KeyPackageIn
 
fn from(value: KeyPackage) -> KeyPackageIn
Converts to this type from the input type.
§impl From<KeyPackageIn> for KeyPackage
 
impl From<KeyPackageIn> for KeyPackage
§fn from(value: KeyPackageIn) -> KeyPackage
 
fn from(value: KeyPackageIn) -> KeyPackage
Converts to this type from the input type.
§impl MlsEntity for KeyPackage
 
impl MlsEntity for KeyPackage
§impl PartialEq for KeyPackage
 
impl PartialEq for KeyPackage
§impl Serialize for &KeyPackage
 
impl Serialize for &KeyPackage
§impl Serialize for KeyPackage
 
impl Serialize for KeyPackage
§fn serialize<__S>(
    &self,
    __serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
    __S: Serializer,
 
fn serialize<__S>(
    &self,
    __serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
    __S: Serializer,
Serialize this value into the given Serde serializer. Read more
§impl Serialize for KeyPackage
 
impl Serialize for KeyPackage
§impl SignedStruct<KeyPackageTbs> for KeyPackage
 
impl SignedStruct<KeyPackageTbs> for KeyPackage
§fn from_payload(payload: KeyPackageTbs, signature: Signature) -> KeyPackage
 
fn from_payload(payload: KeyPackageTbs, signature: Signature) -> KeyPackage
Build a signed struct version from the payload struct.
§impl Size for &KeyPackage
 
impl Size for &KeyPackage
fn tls_serialized_len(&self) -> usize
§impl Size for KeyPackage
 
impl Size for KeyPackage
fn tls_serialized_len(&self) -> usize
§impl VerifiedStruct<VerifiableKeyPackage> for KeyPackage
 
impl VerifiedStruct<VerifiableKeyPackage> for KeyPackage
§type SealingType = Seal
 
type SealingType = Seal
This type is used to prevent users of the trait from bypassing 
verify
by simply calling from_verifiable. Seal should be a dummy type
defined in a private module as follows: Read moreAuto Trait Implementations§
impl Freeze for KeyPackage
impl RefUnwindSafe for KeyPackage
impl Send for KeyPackage
impl Sync for KeyPackage
impl Unpin for KeyPackage
impl UnwindSafe for KeyPackage
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
    T: ?Sized,
 
impl<T> BorrowMut<T> for Twhere
    T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
 
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
    T: Clone,
 
impl<T> CloneToUninit for Twhere
    T: Clone,
Source§impl<T> IntoEither for T
 
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
 
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts 
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
 
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts 
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more