pub trait KernelSelfQuoteVerifier: Send + Sync {
// Required method
fn verify_self_quote(
&self,
quote_bytes: &[u8],
expected_classical_pk: &PublicKey,
) -> KernelSelfQuoteOutcome;
}Expand description
Port the kernel boot path consults to verify its own TEE quote.
Implementations live in operator binaries (which compose
chio-attest-verify backends) or in
integration tests (which inject a mock with a captured expected
report_data). The port trait deliberately does not return the full
VerifiedQuote shape: the kernel boot path only needs a yes/no
answer plus a diagnostic message, and keeping the interface narrow
preserves the no-chio-attest-verify-dep boundary on chio-kernel.
Required Methods§
Sourcefn verify_self_quote(
&self,
quote_bytes: &[u8],
expected_classical_pk: &PublicKey,
) -> KernelSelfQuoteOutcome
fn verify_self_quote( &self, quote_bytes: &[u8], expected_classical_pk: &PublicKey, ) -> KernelSelfQuoteOutcome
Verify a kernel self-quote against the supplied classical public key and the genesis receipt root.
quote_bytes is the raw on-the-wire envelope produced by the
surrounding TEE container (chio-tee). The verifier MUST consult
expected_classical_pk and RECEIPT_ROOT_GENESIS when
reconstructing the expected report_data; any other binding is
a verifier bug.
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".