pub enum SecretValue {
SharedKey(SharedKey),
PairingSecret(PairingKeyMaterial),
PairingContact(ContactMessage),
}Expand description
The payload returned by crate::protocol::DeRecSecretStore::load and
passed to crate::protocol::DeRecSecretStore::save.
Variants are 1:1 with SecretKind.
With the serde feature enabled, Serialize / Deserialize are
derived so a store implementation can persist an entry with any serde
format instead of hand-rolling a codec. This is an alternative to the
byte-level accessors on the individual payloads (e.g.
PairingKeyMaterial::as_bytes / PairingKeyMaterial::from_bytes);
implementors pick whichever fits their backend, and consumers that do
not use serde pay no dependency for it. The serde wire format is not
part of the public API and may change independently.
Variants§
The post-pairing symmetric channel key. Established by pairing and used to authenticate and encrypt every subsequent message on the channel.
PairingSecret(PairingKeyMaterial)
The ephemeral ECIES / ML-KEM key material created by start and
consumed when the pairing response arrives. Removed once the shared
key is derived. Held as an opaque PairingKeyMaterial blob so
store implementors never touch a cryptography primitive.
PairingContact(ContactMessage)
The initiator’s ContactMessage, needed by
crate::primitives::pairing::response::process to derive the shared
key. Ephemeral — removed after pairing completes.
Trait Implementations§
Source§impl Clone for SecretValue
impl Clone for SecretValue
Source§fn clone(&self) -> SecretValue
fn clone(&self) -> SecretValue
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreAuto Trait Implementations§
impl Freeze for SecretValue
impl RefUnwindSafe for SecretValue
impl Send for SecretValue
impl Sync for SecretValue
impl Unpin for SecretValue
impl UnsafeUnpin for SecretValue
impl UnwindSafe for SecretValue
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
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> 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>
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>
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