Struct matrix_sdk_crypto::types::CrossSigningKey
source · [−]pub struct CrossSigningKey {
pub user_id: OwnedUserId,
pub usage: Vec<KeyUsage>,
pub keys: BTreeMap<OwnedDeviceKeyId, SigningKey>,
pub signatures: Signatures,
/* private fields */
}Expand description
A cross signing key.
Fields
user_id: OwnedUserIdThe ID of the user the key belongs to.
usage: Vec<KeyUsage>What the key is used for.
keys: BTreeMap<OwnedDeviceKeyId, SigningKey>The public key.
The object must have exactly one property.
signatures: SignaturesSignatures of the key.
Only optional for master key.
Implementations
sourceimpl CrossSigningKey
impl CrossSigningKey
sourcepub fn new(
user_id: OwnedUserId,
usage: Vec<KeyUsage>,
keys: BTreeMap<OwnedDeviceKeyId, SigningKey>,
signatures: Signatures
) -> Self
pub fn new(
user_id: OwnedUserId,
usage: Vec<KeyUsage>,
keys: BTreeMap<OwnedDeviceKeyId, SigningKey>,
signatures: Signatures
) -> Self
Creates a new CrossSigningKey with the given user ID, usage, keys and
signatures.
sourcepub fn get_first_key_and_id(&self) -> Option<(&DeviceKeyId, Ed25519PublicKey)>
pub fn get_first_key_and_id(&self) -> Option<(&DeviceKeyId, Ed25519PublicKey)>
Get the Ed25519 cross-signing key (and its ID).
Structurally, a cross-signing key could contain more than one actual
key. However, the spec forbids this (see
the keys field description), so we just get the first one.
Trait Implementations
sourceimpl AsRef<CrossSigningKey> for MasterPubkey
impl AsRef<CrossSigningKey> for MasterPubkey
sourcefn as_ref(&self) -> &CrossSigningKey
fn as_ref(&self) -> &CrossSigningKey
Converts this type into a shared reference of the (usually inferred) input type.
sourceimpl Clone for CrossSigningKey
impl Clone for CrossSigningKey
sourcefn clone(&self) -> CrossSigningKey
fn clone(&self) -> CrossSigningKey
Returns a copy of the value. Read more
1.0.0 · sourcefn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from source. Read more
sourceimpl Debug for CrossSigningKey
impl Debug for CrossSigningKey
sourceimpl<'de> Deserialize<'de> for CrossSigningKey
impl<'de> Deserialize<'de> for CrossSigningKey
sourcefn 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>,
Deserialize this value from the given Serde deserializer. Read more
sourceimpl From<CrossSigningKey> for MasterPubkey
impl From<CrossSigningKey> for MasterPubkey
sourcefn from(key: CrossSigningKey) -> Self
fn from(key: CrossSigningKey) -> Self
Converts to this type from the input type.
sourceimpl Serialize for CrossSigningKey
impl Serialize for CrossSigningKey
Auto Trait Implementations
impl RefUnwindSafe for CrossSigningKey
impl Send for CrossSigningKey
impl Sync for CrossSigningKey
impl Unpin for CrossSigningKey
impl UnwindSafe for CrossSigningKey
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
sourceimpl<T> Instrument for T
impl<T> Instrument for T
sourcefn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
sourcefn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
sourceimpl<T> WithSubscriber for T
impl<T> WithSubscriber for T
sourcefn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> where
S: Into<Dispatch>,
fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> where
S: Into<Dispatch>,
Attaches the provided Subscriber to this type, returning a
WithDispatch wrapper. Read more
sourcefn with_current_subscriber(self) -> WithDispatch<Self>
fn with_current_subscriber(self) -> WithDispatch<Self>
Attaches the current default Subscriber to this type, returning a
WithDispatch wrapper. Read more