Struct holochain::prelude::X25519PubKey
pub struct X25519PubKey(_);
Trait Implementations§
§impl AsRef<[u8]> for X25519PubKey
impl AsRef<[u8]> for X25519PubKey
§impl Clone for X25519PubKey
impl Clone for X25519PubKey
§fn clone(&self) -> X25519PubKey
fn clone(&self) -> X25519PubKey
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read more§impl Debug for X25519PubKey
impl Debug for X25519PubKey
The only meaningful debug information for a cryptograhpic secret is the literal bytes. Also, encodings like base64 are not constant time so debugging could open some weird side channel issue trying to be ‘human friendly’. It seems better to never try to encode secrets.
Note that when using this crate with feature “subtle-encoding”, a hex representation will be used.
§impl<'de> Deserialize<'de> for X25519PubKey
impl<'de> Deserialize<'de> for X25519PubKey
§fn deserialize<D>(
deserializer: D
) -> Result<X25519PubKey, <D as Deserializer<'de>>::Error>where
D: Deserializer<'de>,
fn deserialize<D>( deserializer: D ) -> Result<X25519PubKey, <D as Deserializer<'de>>::Error>where D: Deserializer<'de>,
§impl From<[u8; 32]> for X25519PubKey
impl From<[u8; 32]> for X25519PubKey
Trivial new type derivation. Secrets should have private interiors and be constructed directly from fixed length arrays of known length.
§fn from(b: [u8; 32]) -> X25519PubKey
fn from(b: [u8; 32]) -> X25519PubKey
§impl PartialEq<X25519PubKey> for X25519PubKey
impl PartialEq<X25519PubKey> for X25519PubKey
Constant time equality check. This mitigates timing attacks where a remote agent can reverse engineer data by measuring tiny changes in latency associated with optimised equality checks. More matching bytes = more latency = vulnerability. This type of attack has been successfully demonstrated over a network despite varied latencies.
§fn eq(&self, other: &X25519PubKey) -> bool
fn eq(&self, other: &X25519PubKey) -> bool
self
and other
values to be equal, and is used
by ==
.§impl Serialize for X25519PubKey
impl Serialize for X25519PubKey
§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,
§impl TryFrom<&[u8]> for X25519PubKey
impl TryFrom<&[u8]> for X25519PubKey
§type Error = SecurePrimitiveError
type Error = SecurePrimitiveError
§fn try_from(
slice: &[u8]
) -> Result<X25519PubKey, <X25519PubKey as TryFrom<&[u8]>>::Error>
fn try_from( slice: &[u8] ) -> Result<X25519PubKey, <X25519PubKey as TryFrom<&[u8]>>::Error>
§impl TryFrom<&X25519PubKey> for SerializedBytes
impl TryFrom<&X25519PubKey> for SerializedBytes
§type Error = SerializedBytesError
type Error = SerializedBytesError
§fn try_from(t: &X25519PubKey) -> Result<SerializedBytes, SerializedBytesError>
fn try_from(t: &X25519PubKey) -> Result<SerializedBytes, SerializedBytesError>
§impl TryFrom<SerializedBytes> for X25519PubKey
impl TryFrom<SerializedBytes> for X25519PubKey
§type Error = SerializedBytesError
type Error = SerializedBytesError
§fn try_from(sb: SerializedBytes) -> Result<X25519PubKey, SerializedBytesError>
fn try_from(sb: SerializedBytes) -> Result<X25519PubKey, SerializedBytesError>
§impl TryFrom<X25519PubKey> for SerializedBytes
impl TryFrom<X25519PubKey> for SerializedBytes
§type Error = SerializedBytesError
type Error = SerializedBytesError
§fn try_from(t: X25519PubKey) -> Result<SerializedBytes, SerializedBytesError>
fn try_from(t: X25519PubKey) -> Result<SerializedBytes, SerializedBytesError>
impl Copy for X25519PubKey
impl Eq for X25519PubKey
Auto Trait Implementations§
impl RefUnwindSafe for X25519PubKey
impl Send for X25519PubKey
impl Sync for X25519PubKey
impl Unpin for X25519PubKey
impl UnwindSafe for X25519PubKey
Blanket Implementations§
§impl<T> ArchivePointee for T
impl<T> ArchivePointee for T
§type ArchivedMetadata = ()
type ArchivedMetadata = ()
§fn pointer_metadata(
_: &<T as ArchivePointee>::ArchivedMetadata
) -> <T as Pointee>::Metadata
fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata ) -> <T as Pointee>::Metadata
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<F, W, T, D> Deserialize<With<T, W>, D> for Fwhere
W: DeserializeWith<F, T, D>,
D: Fallible + ?Sized,
F: ?Sized,
impl<F, W, T, D> Deserialize<With<T, W>, D> for Fwhere W: DeserializeWith<F, T, D>, D: Fallible + ?Sized, F: ?Sized,
§fn deserialize(
&self,
deserializer: &mut D
) -> Result<With<T, W>, <D as Fallible>::Error>
fn deserialize( &self, deserializer: &mut D ) -> Result<With<T, W>, <D as Fallible>::Error>
source§impl<Q, K> Equivalent<K> for Qwhere
Q: Eq + ?Sized,
K: Borrow<Q> + ?Sized,
impl<Q, K> Equivalent<K> for Qwhere Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,
source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key
and return true
if they are equal.§impl<Q, K> Equivalent<K> for Qwhere
Q: Eq + ?Sized,
K: Borrow<Q> + ?Sized,
impl<Q, K> Equivalent<K> for Qwhere Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
§impl<Q, K> Equivalent<K> for Qwhere
Q: Eq + ?Sized,
K: Borrow<Q> + ?Sized,
impl<Q, K> Equivalent<K> for Qwhere Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
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> 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> ⓘ
§impl<T> Pointable for T
impl<T> Pointable for T
§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere SS: SubsetOf<SP>,
§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
self
from the equivalent element of its
superset. Read more§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
self
is actually part of its subset T
(and can be converted to it).§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
self.to_subset
but without any property checks. Always succeeds.§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
self
to the equivalent element of its superset.