Struct matrix_sdk_crypto::Device
source · [−]pub struct Device { /* private fields */ }
Expand description
A device represents a E2EE capable client of an user.
Implementations
sourceimpl Device
impl Device
sourcepub async fn start_verification(&self) -> StoreResult<(Sas, ToDeviceRequest)>
pub async fn start_verification(&self) -> StoreResult<(Sas, ToDeviceRequest)>
Start a interactive verification with this Device
Returns a Sas
object and a to-device request that needs to be sent
out.
This method has been deprecated in the spec and the
request_verification()
method should be used instead.
sourcepub async fn request_verification(
&self
) -> (VerificationRequest, OutgoingVerificationRequest)
pub async fn request_verification(
&self
) -> (VerificationRequest, OutgoingVerificationRequest)
Request an interacitve verification with this Device
Returns a VerificationRequest
object and a to-device request that
needs to be sent out.
sourcepub async fn request_verification_with_methods(
&self,
methods: Vec<VerificationMethod>
) -> (VerificationRequest, OutgoingVerificationRequest)
pub async fn request_verification_with_methods(
&self,
methods: Vec<VerificationMethod>
) -> (VerificationRequest, OutgoingVerificationRequest)
Request an interacitve verification with this Device
Returns a VerificationRequest
object and a to-device request that
needs to be sent out.
Arguments
methods
- The verification methods that we want to support.
sourcepub fn verified(&self) -> bool
pub fn verified(&self) -> bool
Is this device considered to be verified.
This method returns true if either is_locally_trusted()
returns true
or if is_cross_signing_trusted()
returns true.
sourcepub fn is_cross_signing_trusted(&self) -> bool
pub fn is_cross_signing_trusted(&self) -> bool
Is this device considered to be verified using cross signing.
sourcepub async fn verify(&self) -> Result<SignatureUploadRequest, SignatureError>
pub async fn verify(&self) -> Result<SignatureUploadRequest, SignatureError>
Manually verify this device.
This method will attempt to sign the device using our private cross signing key.
This method will always fail if the device belongs to someone else, we can only sign our own devices.
It can also fail if we don’t have the private part of our self-signing key.
Returns a request that needs to be sent out for the device to be marked as verified.
sourcepub async fn set_local_trust(&self, trust_state: LocalTrust) -> StoreResult<()>
pub async fn set_local_trust(&self, trust_state: LocalTrust) -> StoreResult<()>
Set the local trust state of the device to the given state.
This won’t affect any cross signing trust state, this only sets a flag marking to have the given trust state.
Arguments
trust_state
- The new trust state that should be set for the device.
sourcepub async fn encrypt_session(
&self,
session: InboundGroupSession,
message_index: Option<u32>
) -> Result<(Session, ToDeviceRoomEncryptedEventContent), OlmError>
pub async fn encrypt_session(
&self,
session: InboundGroupSession,
message_index: Option<u32>
) -> Result<(Session, ToDeviceRoomEncryptedEventContent), OlmError>
Encrypt the given inbound group session as a forwarded room key for this device.
Methods from Deref<Target = ReadOnlyDevice>
sourcepub fn display_name(&self) -> Option<&str>
pub fn display_name(&self) -> Option<&str>
Get the human readable name of the device.
sourcepub fn get_key(&self, algorithm: DeviceKeyAlgorithm) -> Option<&DeviceKey>
pub fn get_key(&self, algorithm: DeviceKeyAlgorithm) -> Option<&DeviceKey>
Get the key of the given key algorithm belonging to this device.
sourcepub fn curve25519_key(&self) -> Option<Curve25519PublicKey>
pub fn curve25519_key(&self) -> Option<Curve25519PublicKey>
Get the Curve25519 key of the given device.
sourcepub fn ed25519_key(&self) -> Option<Ed25519PublicKey>
pub fn ed25519_key(&self) -> Option<Ed25519PublicKey>
Get the Ed25519 key of the given device.
sourcepub fn keys(&self) -> &BTreeMap<OwnedDeviceKeyId, DeviceKey>
pub fn keys(&self) -> &BTreeMap<OwnedDeviceKeyId, DeviceKey>
Get a map containing all the device keys.
sourcepub fn signatures(&self) -> &Signatures
pub fn signatures(&self) -> &Signatures
Get a map containing all the device signatures.
sourcepub fn local_trust_state(&self) -> LocalTrust
pub fn local_trust_state(&self) -> LocalTrust
Get the trust state of the device.
sourcepub fn is_locally_trusted(&self) -> bool
pub fn is_locally_trusted(&self) -> bool
Is the device locally marked as trusted.
sourcepub fn is_blacklisted(&self) -> bool
pub fn is_blacklisted(&self) -> bool
Is the device locally marked as blacklisted.
Blacklisted devices won’t receive any group sessions.
sourcepub fn algorithms(&self) -> &[EventEncryptionAlgorithm]
pub fn algorithms(&self) -> &[EventEncryptionAlgorithm]
Get the list of algorithms this device supports.
Trait Implementations
Auto Trait Implementations
impl !RefUnwindSafe for Device
impl Send for Device
impl Sync for Device
impl Unpin for Device
impl !UnwindSafe for Device
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