Struct matrix_sdk_crypto::olm::ExportedRoomKey
source · pub struct ExportedRoomKey {
pub algorithm: EventEncryptionAlgorithm,
pub room_id: OwnedRoomId,
pub sender_key: Curve25519PublicKey,
pub session_id: String,
pub session_key: ExportedSessionKey,
pub sender_claimed_keys: SigningKeys<DeviceKeyAlgorithm>,
pub forwarding_curve25519_key_chain: Vec<Curve25519PublicKey>,
}
Expand description
An exported version of an InboundGroupSession
This can be used to share the InboundGroupSession
in an exported file.
Fields§
§algorithm: EventEncryptionAlgorithm
The encryption algorithm that the session uses.
room_id: OwnedRoomId
The room where the session is used.
sender_key: Curve25519PublicKey
The Curve25519 key of the device which initiated the session originally.
session_id: String
The ID of the session that the key is for.
session_key: ExportedSessionKey
The key for the session.
sender_claimed_keys: SigningKeys<DeviceKeyAlgorithm>
The Ed25519 key of the device which initiated the session originally.
forwarding_curve25519_key_chain: Vec<Curve25519PublicKey>
Chain of Curve25519 keys through which this session was forwarded, via m.forwarded_room_key events.
Trait Implementations§
source§impl<'de> Deserialize<'de> for ExportedRoomKey
impl<'de> Deserialize<'de> for ExportedRoomKey
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>,
Deserialize this value from the given Serde deserializer. Read more
source§impl From<ExportedRoomKey> for BackedUpRoomKey
impl From<ExportedRoomKey> for BackedUpRoomKey
source§fn from(k: ExportedRoomKey) -> Self
fn from(k: ExportedRoomKey) -> Self
Converts to this type from the input type.
source§impl Serialize for ExportedRoomKey
impl Serialize for ExportedRoomKey
source§impl TryFrom<&ExportedRoomKey> for InboundGroupSession
impl TryFrom<&ExportedRoomKey> for InboundGroupSession
§type Error = SessionCreationError
type Error = SessionCreationError
The type returned in the event of a conversion error.
source§impl TryFrom<ExportedRoomKey> for ForwardedRoomKeyContent
impl TryFrom<ExportedRoomKey> for ForwardedRoomKeyContent
source§fn try_from(
room_key: ExportedRoomKey
) -> Result<ForwardedRoomKeyContent, Self::Error>
fn try_from( room_key: ExportedRoomKey ) -> Result<ForwardedRoomKeyContent, Self::Error>
Convert an exported room key into a content for a forwarded room key event.
This will fail if the exported room key doesn’t contain an Ed25519 claimed sender key.
§type Error = SessionExportError
type Error = SessionExportError
The type returned in the event of a conversion error.
source§impl TryFrom<ForwardedRoomKeyContent> for ExportedRoomKey
impl TryFrom<ForwardedRoomKeyContent> for ExportedRoomKey
source§fn try_from(forwarded_key: ForwardedRoomKeyContent) -> Result<Self, Self::Error>
fn try_from(forwarded_key: ForwardedRoomKeyContent) -> Result<Self, Self::Error>
Convert the content of a forwarded room key into a exported room key.
§type Error = SessionExportError
type Error = SessionExportError
The type returned in the event of a conversion error.
Auto Trait Implementations§
impl Freeze for ExportedRoomKey
impl RefUnwindSafe for ExportedRoomKey
impl Send for ExportedRoomKey
impl Sync for ExportedRoomKey
impl Unpin for ExportedRoomKey
impl UnwindSafe for ExportedRoomKey
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
§impl<T> CompatExt for T
impl<T> CompatExt for T
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>
Consume a handle, getting back the initial
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,
source§impl<T> Instrument for T
impl<T> Instrument for T
source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
source§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>
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