pub struct HybridSigningConfig {
pub crypto_floor: KernelCryptoFloor,
pub pq_signing_seed: Option<[u8; 32]>,
}Expand description
Boot-time configuration for the kernel-side hybrid signing path.
Mirrors the wire form of chio_policy::CryptoFloor (allow_classical,
allow_hybrid, pq_required) and pairs the floor with the operator’s
32-byte ML-DSA-65 keygen seed. Construct one of these from a parsed
HushSpec policy plus the boot-loaded PQ seed and pass it to
ChioKernel::with_hybrid_signing_backend with a verified self-quote
port to obtain a Box<dyn SigningBackend> for hybrid receipt signing.
A separate input from KernelConfig: the hybrid fields are not folded
into KernelConfig, so its wire form is unaffected.
Fields§
§crypto_floor: KernelCryptoFloorMinimum cryptographic posture enforced on receipts, capability
tokens, and compliance certificates. Default
KernelCryptoFloor::AllowClassical.
pq_signing_seed: Option<[u8; 32]>Optional 32-byte ML-DSA-65 keygen seed. Required when
crypto_floor is KernelCryptoFloor::AllowHybrid or
KernelCryptoFloor::PqRequired; ignored under
KernelCryptoFloor::AllowClassical.
Trait Implementations§
Source§impl Clone for HybridSigningConfig
impl Clone for HybridSigningConfig
Source§fn clone(&self) -> HybridSigningConfig
fn clone(&self) -> HybridSigningConfig
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 HybridSigningConfig
impl Debug for HybridSigningConfig
Source§impl Default for HybridSigningConfig
impl Default for HybridSigningConfig
Source§fn default() -> HybridSigningConfig
fn default() -> HybridSigningConfig
Auto Trait Implementations§
impl Freeze for HybridSigningConfig
impl RefUnwindSafe for HybridSigningConfig
impl Send for HybridSigningConfig
impl Sync for HybridSigningConfig
impl Unpin for HybridSigningConfig
impl UnsafeUnpin for HybridSigningConfig
impl UnwindSafe for HybridSigningConfig
Blanket Implementations§
Source§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
Source§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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 more