pub struct KeyPair { /* private fields */ }Expand description
A signing key pair. KEM key pairs use KemKeyPair.
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 KeyPair
impl KeyPair
Sourcepub fn into_split(self) -> (PublicKey, SecretKey)
pub fn into_split(self) -> (PublicKey, SecretKey)
Consumes the pair, returning the kinded public and secret keys.
Sourcepub fn ref_bare_secret(&self) -> &BareSecretKey
pub fn ref_bare_secret(&self) -> &BareSecretKey
Returns a reference to the kindless secret key.
Source§impl KeyPair
impl KeyPair
Sourcepub fn new_from_parts(key: PublicKey, bare_secret: BareSecretKey) -> Self
pub fn new_from_parts(key: PublicKey, bare_secret: BareSecretKey) -> Self
Builds a key pair, taking the cryptosystem kind from the public key.
Sourcepub fn bare_secret(&self) -> BareSecretKey
pub fn bare_secret(&self) -> BareSecretKey
Returns the kindless secret key.
Source§impl KeyPair
impl KeyPair
Sourcepub fn new(kind: CryptoKind, value: BareKeyPair) -> Self
pub fn new(kind: CryptoKind, value: BareKeyPair) -> Self
Pairs a value with the CryptoKind it belongs to.
Sourcepub fn ref_value(&self) -> &BareKeyPair
pub fn ref_value(&self) -> &BareKeyPair
Borrows the untagged value.
Sourcepub fn into_value(self) -> BareKeyPair
pub fn into_value(self) -> BareKeyPair
Consumes the wrapper and returns the untagged value.
Source§impl KeyPair
impl KeyPair
Sourcepub fn kind(&self) -> CryptoKind
pub fn kind(&self) -> CryptoKind
The cryptosystem this value belongs to.
Sourcepub fn value(&self) -> BareKeyPair
pub fn value(&self) -> BareKeyPair
A clone of the untagged value.
Trait Implementations§
Source§impl<'de> Deserialize<'de> for KeyPair
impl<'de> Deserialize<'de> for KeyPair
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 KeyPair
Source§impl From<KeyPair> for KeyPairGroup
impl From<KeyPair> for KeyPairGroup
Source§impl GetSize for KeyPair
impl GetSize for KeyPair
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 KeyPair
impl Ord for KeyPair
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 KeyPair
impl PartialOrd for KeyPair
impl StructuralPartialEq for KeyPair
Source§impl ToVeilidAPIErrorArgument for KeyPair
impl ToVeilidAPIErrorArgument for KeyPair
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 KeyPair
impl RefUnwindSafe for KeyPair
impl Send for KeyPair
impl Sync for KeyPair
impl Unpin for KeyPair
impl UnsafeUnpin for KeyPair
impl UnwindSafe for KeyPair
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