pub struct KeypackageRef { /* private fields */ }Expand description
A “fat” reference to a Keypackage.
Contains the relevant hash, and also information about its cipher suite, credential type, and lifetime.
Implementations§
Source§impl KeypackageRef
impl KeypackageRef
Sourcepub fn hash_ref(&self) -> &[u8] ⓘ
pub fn hash_ref(&self) -> &[u8] ⓘ
Get the bytes of the hash reference to a Keypackage
Sourcepub fn cipher_suite(&self) -> CipherSuite
pub fn cipher_suite(&self) -> CipherSuite
Get the cipher suite associated with this key package ref.
Sourcepub fn signature_scheme(&self) -> SignatureScheme
pub fn signature_scheme(&self) -> SignatureScheme
Get the signature scheme associated wtih this key package ref.
Sourcepub fn credential_type(&self) -> CredentialType
pub fn credential_type(&self) -> CredentialType
Get the credential type associated with this key package ref.
Sourcepub fn lifetime(&self) -> Option<&Lifetime>
pub fn lifetime(&self) -> Option<&Lifetime>
Get the lifetime associated with this key package ref.
Sourcepub fn is_valid(&self) -> bool
pub fn is_valid(&self) -> bool
Determines whether this keypackage is unexpired.
A key package with no lifetime is always valid. Otherwise it must both be unexpired and
have an acceptable lifetime range: openmls rejects a leaf node whose
not_after - not_before exceeds ~3 months (MAX_LEAF_NODE_LIFETIME_RANGE_SECONDS, which is
its default lifetime plus a 1h clock-skew margin). So a key package generated with a
lifetime longer than that is never valid, not merely expired.
Trait Implementations§
Source§impl Clone for KeypackageRef
impl Clone for KeypackageRef
Source§fn clone(&self) -> KeypackageRef
fn clone(&self) -> KeypackageRef
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for KeypackageRef
impl Debug for KeypackageRef
impl Eq for KeypackageRef
Source§impl KeypackageExt for KeypackageRef
impl KeypackageExt for KeypackageRef
Source§fn make_ref(&self) -> Result<KeypackageRef, OpenMlsError>
fn make_ref(&self) -> Result<KeypackageRef, OpenMlsError>
Source§fn cipher_suite(&self) -> CipherSuite
fn cipher_suite(&self) -> CipherSuite
Source§fn credential_type(&self) -> CredentialType
fn credential_type(&self) -> CredentialType
Source§impl PartialEq for KeypackageRef
impl PartialEq for KeypackageRef
impl StructuralPartialEq for KeypackageRef
Auto Trait Implementations§
impl Freeze for KeypackageRef
impl RefUnwindSafe for KeypackageRef
impl Send for KeypackageRef
impl Sync for KeypackageRef
impl Unpin for KeypackageRef
impl UnsafeUnpin for KeypackageRef
impl UnwindSafe for KeypackageRef
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
impl<T> ErasedDestructor for Twhere
T: 'static,
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> ⓘ
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> ⓘ
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