pub struct BootChainVerifier { /* private fields */ }Expand description
Boot chain verifier that checks invariants
Implementations§
Source§impl BootChainVerifier
impl BootChainVerifier
Sourcepub fn measure(
&mut self,
stage: BootStage,
pcr_index: usize,
digest: [u8; 32],
component: MeasuredComponent,
) -> Result<(), BootVerifyError>
pub fn measure( &mut self, stage: BootStage, pcr_index: usize, digest: [u8; 32], component: MeasuredComponent, ) -> Result<(), BootVerifyError>
Record a boot measurement
Sourcepub fn set_expected_pcr(&mut self, pcr_index: usize, expected: [u8; 32])
pub fn set_expected_pcr(&mut self, pcr_index: usize, expected: [u8; 32])
Set an expected PCR value for policy checking
Sourcepub fn verify_pcr_monotonicity(&self) -> Result<(), BootVerifyError>
pub fn verify_pcr_monotonicity(&self) -> Result<(), BootVerifyError>
Verify PCR monotonicity: PCR values only change via extend, never reset
This is verified structurally: the PcrState API only allows extend(), and extend() always changes the value (unless the implementation is broken).
Sourcepub fn verify_measurement_completeness(&self) -> Result<(), BootVerifyError>
pub fn verify_measurement_completeness(&self) -> Result<(), BootVerifyError>
Verify measurement completeness: all boot stages have been measured
Sourcepub fn verify_hash_chain(&self) -> Result<(), BootVerifyError>
pub fn verify_hash_chain(&self) -> Result<(), BootVerifyError>
Verify hash chain integrity: each measurement properly chains
Sourcepub fn verify_boot_policy(&self) -> Result<PolicyDecision, BootVerifyError>
pub fn verify_boot_policy(&self) -> Result<PolicyDecision, BootVerifyError>
Verify boot policy: PCR values match expected values
Sourcepub fn verify_log_ordering(&self) -> Result<(), BootVerifyError>
pub fn verify_log_ordering(&self) -> Result<(), BootVerifyError>
Verify measurement log is chronologically ordered
Sourcepub fn verify_measurement_count(&self) -> Result<(), BootVerifyError>
pub fn verify_measurement_count(&self) -> Result<(), BootVerifyError>
Verify measurement count matches PCR extend counts
Sourcepub fn status(&self) -> BootStatus
pub fn status(&self) -> BootStatus
Get current boot status
Sourcepub fn set_status(
&mut self,
new_status: BootStatus,
) -> Result<(), BootVerifyError>
pub fn set_status( &mut self, new_status: BootStatus, ) -> Result<(), BootVerifyError>
Transition boot status
Trait Implementations§
Source§impl Debug for BootChainVerifier
impl Debug for BootChainVerifier
Source§impl Default for BootChainVerifier
impl Default for BootChainVerifier
Source§fn default() -> BootChainVerifier
fn default() -> BootChainVerifier
Returns the “default value” for a type. Read more