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.
Implementations§
Source§impl ExportedRoomKey
impl ExportedRoomKey
Sourcepub fn from_backed_up_room_key(
room_id: OwnedRoomId,
session_id: String,
room_key: BackedUpRoomKey,
) -> Self
pub fn from_backed_up_room_key( room_id: OwnedRoomId, session_id: String, room_key: BackedUpRoomKey, ) -> Self
Create an ExportedRoomKey
from a BackedUpRoomKey
.
This can be used when importing the keys from a backup into the store.
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>,
Source§impl From<ExportedRoomKey> for BackedUpRoomKey
impl From<ExportedRoomKey> for BackedUpRoomKey
Source§fn from(k: ExportedRoomKey) -> Self
fn from(k: ExportedRoomKey) -> Self
Source§impl Serialize for ExportedRoomKey
impl Serialize for ExportedRoomKey
Source§impl TryFrom<&ExportedRoomKey> for InboundGroupSession
impl TryFrom<&ExportedRoomKey> for InboundGroupSession
Source§type Error = SessionCreationError
type Error = SessionCreationError
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.
Source§type Error = SessionExportError
type Error = SessionExportError
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.
Source§type Error = SessionExportError
type Error = SessionExportError
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
§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>
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