Struct TlsConfigWitness
pub struct TlsConfigWitness(/* private fields */);Expand description
Opaque, transient witness derived from the canonical configuration inputs.
Hosts derive this from policy, profile references and material under the same read as each view. It is not a policy cache or a mutable revision counter. Never expose the witness to guests or persist it.
Implementations§
Source§impl TlsConfigWitness
impl TlsConfigWitness
Sourcepub fn new(digest: [u8; 32]) -> Self
pub fn new(digest: [u8; 32]) -> Self
Construct a host-derived keyed content witness (not a guest value).
Sourcepub fn derive(inputs: &impl Serialize) -> Result<Self, PluginError>
pub fn derive(inputs: &impl Serialize) -> Result<Self, PluginError>
Derive the witness for one locked canonical config view.
inputs is serialized straight into HMAC-SHA256 under a key drawn once
per process, so no plaintext copy of it is buffered and a witness cannot
serve as an offline oracle for the secret values it covers. Neither the
key nor the digest is logged, serialized, or exposed to a guest.
§Errors
Fails closed with PluginError::InvalidConfig when the process key
cannot be drawn or inputs cannot be serialized.
Trait Implementations§
Source§impl Clone for TlsConfigWitness
impl Clone for TlsConfigWitness
Source§fn clone(&self) -> TlsConfigWitness
fn clone(&self) -> TlsConfigWitness
1.0.0 (const: unstable) · §fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for TlsConfigWitness
impl Debug for TlsConfigWitness
impl Eq for TlsConfigWitness
Source§impl PartialEq for TlsConfigWitness
impl PartialEq for TlsConfigWitness
impl StructuralPartialEq for TlsConfigWitness
Auto Trait Implementations§
impl Freeze for TlsConfigWitness
impl RefUnwindSafe for TlsConfigWitness
impl Send for TlsConfigWitness
impl Sync for TlsConfigWitness
impl Unpin for TlsConfigWitness
impl UnsafeUnpin for TlsConfigWitness
impl UnwindSafe for TlsConfigWitness
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<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.