pub struct EnclaveChainRow {
pub pcrs: PcrsHex,
pub image_digest: String,
pub control_public_key: Option<Vec<u8>>,
pub upgradable: bool,
}Expand description
The validate_chain context fields carried on the public
GET /enclaves/{id} response. Deserialized by every consumer that
re-walks a chain (the SDK’s trust_upgrades, the CLI’s upgrade chain) so the tolerant parsing lives once here instead of being
re-implemented per caller.
Tolerances, matching what the backend actually emits:
pcrs: nitro-cliPCR0casing or lowercase (seePcrsHex).control_public_key: the BYTEA column serializes as a JSON array of byte values; a base64 string andnull(a non-upgradable enclave) are also accepted.upgradable: defaults tofalsewhen absent.
These values are corroborating, not load-bearing, in the
trust_upgrades trust model (a wrong value can only make a genuine
chain fail to verify); see verify_pcr_descent.
Fields§
§pcrs: PcrsHex§image_digest: String§control_public_key: Option<Vec<u8>>§upgradable: boolTrait Implementations§
Source§impl Clone for EnclaveChainRow
impl Clone for EnclaveChainRow
Source§fn clone(&self) -> EnclaveChainRow
fn clone(&self) -> EnclaveChainRow
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for EnclaveChainRow
impl Debug for EnclaveChainRow
Source§impl<'de> Deserialize<'de> for EnclaveChainRow
impl<'de> Deserialize<'de> for EnclaveChainRow
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Auto Trait Implementations§
impl Freeze for EnclaveChainRow
impl RefUnwindSafe for EnclaveChainRow
impl Send for EnclaveChainRow
impl Sync for EnclaveChainRow
impl Unpin for EnclaveChainRow
impl UnsafeUnpin for EnclaveChainRow
impl UnwindSafe for EnclaveChainRow
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
Mutably borrows from an owned value. Read more