pub enum PcrDescentError {
NoGenesis,
LinkInvalid {
position: usize,
source: ChainValidationError,
},
PinnedNotInLineage,
BootPayloadUnreadable(usize),
}Expand description
Why a live enclave’s PCRs could not be shown to descend from the caller’s pinned PCRs.
Variants§
NoGenesis
The chain produced no usable genesis, so no in-force state could be established and nothing descends from anything.
LinkInvalid
A chain link failed validation (attestation, signature, or cross-link consistency). The whole chain is rejected: a single unverifiable link means the history is not a trustworthy account of how the enclave reached its current measurements.
PinnedNotInLineage
Every link validated, but the pinned PCRs never appear as an in-force boot state on this chain. The chain may be a perfectly valid history of a DIFFERENT enclave; it does not start from (or pass through) the version the caller pinned, so the live measurements cannot be said to descend from the pinned ones.
BootPayloadUnreadable(usize)
A boot link the walker accepted carries a payload that no longer CBOR-decodes, or PCR hex that no longer parses. Indicates the link bytes were mutated between validation and this read; treated as fatal.
Trait Implementations§
Source§impl Debug for PcrDescentError
impl Debug for PcrDescentError
Source§impl Display for PcrDescentError
impl Display for PcrDescentError
Source§impl Error for PcrDescentError
impl Error for PcrDescentError
Source§fn source(&self) -> Option<&(dyn Error + 'static)>
fn source(&self) -> Option<&(dyn Error + 'static)>
1.0.0 · Source§fn description(&self) -> &str
fn description(&self) -> &str
use the Display impl or to_string()