pub struct PublicKey { /* private fields */ }Expand description
A signing public key: verification, identity, and node ids (Ed25519 under VLD0, ML-DSA at
VLD1). KEM encryption to a key uses EncapsulationKey.
A value tagged with the CryptoKind of the cryptosystem it belongs to.
Ordering compares the kind first (by cryptosystem preference) then the value.
Parses and displays as kind:value; a bare value with no kind: prefix decodes against the best available kind.
Implementations§
Source§impl PublicKey
impl PublicKey
Sourcepub fn new(kind: CryptoKind, value: BarePublicKey) -> Self
pub fn new(kind: CryptoKind, value: BarePublicKey) -> Self
Pairs a value with the CryptoKind it belongs to.
Sourcepub fn ref_value(&self) -> &BarePublicKey
pub fn ref_value(&self) -> &BarePublicKey
Borrows the untagged value.
Sourcepub fn into_value(self) -> BarePublicKey
pub fn into_value(self) -> BarePublicKey
Consumes the wrapper and returns the untagged value.
Source§impl PublicKey
impl PublicKey
Sourcepub fn kind(&self) -> CryptoKind
pub fn kind(&self) -> CryptoKind
The cryptosystem this value belongs to.
Sourcepub fn value(&self) -> BarePublicKey
pub fn value(&self) -> BarePublicKey
A clone of the untagged value.
Trait Implementations§
Source§impl<'de> Deserialize<'de> for PublicKey
impl<'de> Deserialize<'de> for PublicKey
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
impl Eq for PublicKey
Source§impl From<PublicKey> for PublicKeyGroup
impl From<PublicKey> for PublicKeyGroup
Source§impl GetSize for PublicKey
impl GetSize for PublicKey
Source§fn get_heap_size(&self) -> usize
fn get_heap_size(&self) -> usize
Determines how many bytes this object occupies inside the heap. Read more
Source§fn get_heap_size_with_tracker<TRACKER: GetSizeTracker>(
&self,
tracker: TRACKER,
) -> (usize, TRACKER)
fn get_heap_size_with_tracker<TRACKER: GetSizeTracker>( &self, tracker: TRACKER, ) -> (usize, TRACKER)
Determines how many bytes this object occupies inside the heap while using a
tracker. Read moreSource§fn get_stack_size() -> usize
fn get_stack_size() -> usize
Determines how may bytes this object occupies inside the stack. Read more
Source§fn get_size_with_tracker<T>(&self, tracker: T) -> (usize, T)where
T: GetSizeTracker,
fn get_size_with_tracker<T>(&self, tracker: T) -> (usize, T)where
T: GetSizeTracker,
Determines the total size of the object while using a
tracker. Read moreSource§impl Ord for PublicKey
impl Ord for PublicKey
1.21.0 (const: unstable) · Source§fn max(self, other: Self) -> Selfwhere
Self: Sized,
fn max(self, other: Self) -> Selfwhere
Self: Sized,
Compares and returns the maximum of two values. Read more
Source§impl PartialOrd for PublicKey
impl PartialOrd for PublicKey
impl StructuralPartialEq for PublicKey
Source§impl ToVeilidAPIErrorArgument for PublicKey
impl ToVeilidAPIErrorArgument for PublicKey
Source§fn to_veilid_api_error_argument(&self) -> String
fn to_veilid_api_error_argument(&self) -> String
Render this value as a string for inclusion in a VeilidAPIError message field.
Auto Trait Implementations§
impl !Freeze for PublicKey
impl RefUnwindSafe for PublicKey
impl Send for PublicKey
impl Sync for PublicKey
impl Unpin for PublicKey
impl UnsafeUnpin for PublicKey
impl UnwindSafe for PublicKey
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<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> CmpAssign for Twhere
T: Ord,
impl<T> CmpAssign for Twhere
T: Ord,
Source§fn min_assign(&mut self, other: T)
fn min_assign(&mut self, other: T)
Replace
self with other if other is smaller.Source§fn max_assign(&mut self, other: T)
fn max_assign(&mut self, other: T)
Replace
self with other if other is larger.Source§impl<Q, K> Comparable<K> for Q
impl<Q, K> Comparable<K> for Q
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.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