Struct matrix_sdk_crypto::types::UserSigningPubkey
source · pub struct UserSigningPubkey(/* private fields */);
Expand description
Wrapper for a cross signing key marking it as a user signing key.
User signing keys are used to sign the master keys of other users.
Implementations§
source§impl UserSigningPubkey
impl UserSigningPubkey
sourcepub fn keys(&self) -> &SigningKeys<OwnedDeviceKeyId>
pub fn keys(&self) -> &SigningKeys<OwnedDeviceKeyId>
Get the keys map of containing the user signing keys.
sourcepub fn get_first_key(&self) -> Option<Ed25519PublicKey>
pub fn get_first_key(&self) -> Option<Ed25519PublicKey>
Get the first available user-signing key.
There’s usually only a single key so this will usually fetch the only key.
Trait Implementations§
source§impl AsMut<CrossSigningKey> for UserSigningPubkey
impl AsMut<CrossSigningKey> for UserSigningPubkey
source§fn as_mut(&mut self) -> &mut CrossSigningKey
fn as_mut(&mut self) -> &mut CrossSigningKey
source§impl AsRef<CrossSigningKey> for UserSigningPubkey
impl AsRef<CrossSigningKey> for UserSigningPubkey
source§fn as_ref(&self) -> &CrossSigningKey
fn as_ref(&self) -> &CrossSigningKey
source§impl Clone for UserSigningPubkey
impl Clone for UserSigningPubkey
source§fn clone(&self) -> UserSigningPubkey
fn clone(&self) -> UserSigningPubkey
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moresource§impl Debug for UserSigningPubkey
impl Debug for UserSigningPubkey
source§impl<'de> Deserialize<'de> for UserSigningPubkey
impl<'de> Deserialize<'de> for UserSigningPubkey
source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
source§impl<'a> IntoIterator for &'a UserSigningPubkey
impl<'a> IntoIterator for &'a UserSigningPubkey
§type Item = (&'a OwnedKeyId<DeviceKeyAlgorithm, DeviceId>, &'a SigningKey)
type Item = (&'a OwnedKeyId<DeviceKeyAlgorithm, DeviceId>, &'a SigningKey)
§type IntoIter = Iter<'a, OwnedKeyId<DeviceKeyAlgorithm, DeviceId>, SigningKey>
type IntoIter = Iter<'a, OwnedKeyId<DeviceKeyAlgorithm, DeviceId>, SigningKey>
source§impl PartialEq for UserSigningPubkey
impl PartialEq for UserSigningPubkey
source§fn eq(&self, other: &Self) -> bool
fn eq(&self, other: &Self) -> bool
The PartialEq
implementation compares the user ID, the usage and the
key material, ignoring signatures.
The usage could be safely ignored since the type guarantees it has the correct usage by construction – it is impossible to construct a value of a particular key type with an incorrect usage. However, we check it anyway, to codify the notion that the same key material with a different usage results in a logically different key.
The signatures are provided by other devices and don’t alter the identity of the key itself.
source§impl Serialize for UserSigningPubkey
impl Serialize for UserSigningPubkey
source§impl TryFrom<CrossSigningKey> for UserSigningPubkey
impl TryFrom<CrossSigningKey> for UserSigningPubkey
impl Eq for UserSigningPubkey
Auto Trait Implementations§
impl Freeze for UserSigningPubkey
impl RefUnwindSafe for UserSigningPubkey
impl Send for UserSigningPubkey
impl Sync for UserSigningPubkey
impl Unpin for UserSigningPubkey
impl UnwindSafe for UserSigningPubkey
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,
source§default unsafe fn clone_to_uninit(&self, dst: *mut T)
default unsafe fn clone_to_uninit(&self, dst: *mut T)
clone_to_uninit
)§impl<T> CompatExt for T
impl<T> CompatExt for T
source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key
and return true
if they are equal.source§impl<T, UT> HandleAlloc<UT> for T
impl<T, UT> HandleAlloc<UT> for T
source§fn consume_handle(handle: Handle) -> Arc<T>
fn consume_handle(handle: Handle) -> Arc<T>
Arc<>
source§impl<T, W> HasTypeWitness<W> for Twhere
W: MakeTypeWitness<Arg = T>,
T: ?Sized,
impl<T, W> HasTypeWitness<W> for Twhere
W: MakeTypeWitness<Arg = T>,
T: ?Sized,
source§impl<T> Identity for Twhere
T: ?Sized,
impl<T> Identity for Twhere
T: ?Sized,
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
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