Struct ruma::api::federation::discovery::ServerSigningKeys
source · pub struct ServerSigningKeys {
pub server_name: OwnedServerName,
pub verify_keys: BTreeMap<OwnedKeyId<SigningKeyAlgorithm, KeyName>, VerifyKey>,
pub old_verify_keys: BTreeMap<OwnedKeyId<SigningKeyAlgorithm, KeyName>, OldVerifyKey>,
pub signatures: BTreeMap<OwnedServerName, BTreeMap<OwnedKeyId<SigningKeyAlgorithm, KeyName>, String>>,
pub valid_until_ts: MilliSecondsSinceUnixEpoch,
}
Available on crate feature
api
and (crate features federation-api-c
or federation-api-s
) only.Expand description
Queried server key, signed by the notary server.
Fields§
§server_name: OwnedServerName
DNS name of the homeserver.
verify_keys: BTreeMap<OwnedKeyId<SigningKeyAlgorithm, KeyName>, VerifyKey>
Public keys of the homeserver for verifying digital signatures.
old_verify_keys: BTreeMap<OwnedKeyId<SigningKeyAlgorithm, KeyName>, OldVerifyKey>
Public keys that the homeserver used to use and when it stopped using them.
signatures: BTreeMap<OwnedServerName, BTreeMap<OwnedKeyId<SigningKeyAlgorithm, KeyName>, String>>
Digital signatures of this object signed using the verify_keys.
Map of server name to keys by key ID.
valid_until_ts: MilliSecondsSinceUnixEpoch
Timestamp when the keys should be refreshed.
This field MUST be ignored in room versions 1, 2, 3, and 4.
Implementations§
source§impl ServerSigningKeys
impl ServerSigningKeys
sourcepub fn new(
server_name: OwnedServerName,
valid_until_ts: MilliSecondsSinceUnixEpoch,
) -> ServerSigningKeys
pub fn new( server_name: OwnedServerName, valid_until_ts: MilliSecondsSinceUnixEpoch, ) -> ServerSigningKeys
Creates a new ServerSigningKeys
with the given server name and validity timestamp.
All other fields will be empty.
Trait Implementations§
source§impl Clone for ServerSigningKeys
impl Clone for ServerSigningKeys
source§fn clone(&self) -> ServerSigningKeys
fn clone(&self) -> ServerSigningKeys
Returns a copy of the value. Read more
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moresource§impl Debug for ServerSigningKeys
impl Debug for ServerSigningKeys
source§impl<'de> Deserialize<'de> for ServerSigningKeys
impl<'de> Deserialize<'de> for ServerSigningKeys
source§fn deserialize<__D>(
__deserializer: __D,
) -> Result<ServerSigningKeys, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(
__deserializer: __D,
) -> Result<ServerSigningKeys, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
source§impl Serialize for ServerSigningKeys
impl Serialize for ServerSigningKeys
source§fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
Serialize this value into the given Serde serializer. Read more
Auto Trait Implementations§
impl Freeze for ServerSigningKeys
impl RefUnwindSafe for ServerSigningKeys
impl Send for ServerSigningKeys
impl Sync for ServerSigningKeys
impl Unpin for ServerSigningKeys
impl UnwindSafe for ServerSigningKeys
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
source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
🔬This is a nightly-only experimental API. (
clone_to_uninit
)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