pub struct ChainContext<'a> {
pub enclave_pcrs: &'a PcrsHex,
pub enclave_image_digest: &'a str,
pub control_public_key: Option<&'a [u8]>,
pub upgradable: bool,
pub prior_chain: &'a [ChainLink],
}Expand description
Context the validator needs that lives outside the link itself: the enclave’s recorded metadata + the chain so far.
Backend usage: load from DB at ingest. SDK usage: fetch via
GET /enclaves/{id} and iterate the chain returned from
GET /enclaves/{id}/upgrade-chain, passing successively longer
prefixes as prior_chain.
Fields§
§enclave_pcrs: &'a PcrsHexPCR0/1/2 recorded for this enclave at build time. Every link’s attestation document must carry these PCRs.
enclave_image_digest: &'a strManifest digest of the Docker image currently pinned to this enclave row. Boot payloads must reference this digest.
control_public_key: Option<&'a [u8]>Enclave’s 65-byte uncompressed SEC1 ECDSA P-256 control public key, or None when the enclave was created non-upgradable.
upgradable: boolWhether the enclave was created with the upgradable flag. Upgrade / revocation links are rejected outright when false.
prior_chain: &'a [ChainLink]Existing chain entries, in sequence order. May be empty (the
link about to be validated would be genesis).