pub enum MethodParams {
AgeYubikey {
recipient: String,
},
Bip39 {
salt: B64Bytes,
argon2: Argon2Params,
},
Passphrase {
salt: B64Bytes,
argon2: Argon2Params,
},
Tpm {
public: B64Bytes,
private: B64Bytes,
pcrs: TpmPcrSelection,
name_alg: String,
srk_template: String,
},
}Expand description
Non-secret, method-specific public material (§2.4).
Variants§
AgeYubikey
age recipient string (public).
Bip39
Argon2id salt + params for a phrase-derived slot key.
Passphrase
Salt and KDF params for a file-sourced passphrase slot key.
Tpm
TPM2 sealed-object slot (feature unlock-tpm, §3.1 / §9).
All fields are non-secret and safe at rest. The 32-byte slot key that
AES-256-GCM-wraps the master KEK (in KekWrap) is sealed inside the
TPM keyed-hash object; it never leaves the chip except transiently during
TPM2_Unseal under the matching PCR policy. private is encrypted to the
SRK and is meaningless off the originating TPM.
Fields
public: B64BytesMarshalled TPM2B_PUBLIC of the sealed object (the keyed-hash public
area), base64-nopad.
private: B64BytesMarshalled TPM2B_PRIVATE of the sealed object: SRK-encrypted,
base64-nopad. Safe at rest; only the originating TPM can load it.
pcrs: TpmPcrSelectionThe PCR selection the seal is bound to (PolicyPCR).
Trait Implementations§
Source§impl Clone for MethodParams
impl Clone for MethodParams
Source§fn clone(&self) -> MethodParams
fn clone(&self) -> MethodParams
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for MethodParams
impl Debug for MethodParams
Source§impl<'de> Deserialize<'de> for MethodParams
impl<'de> Deserialize<'de> for MethodParams
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>,
Auto Trait Implementations§
impl Freeze for MethodParams
impl RefUnwindSafe for MethodParams
impl Send for MethodParams
impl Sync for MethodParams
impl Unpin for MethodParams
impl UnsafeUnpin for MethodParams
impl UnwindSafe for MethodParams
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,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
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>
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 moreSource§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
T in a tonic::Request