pub struct IgvmCapabilityBitMap(/* private fields */);Expand description
Bitmap of additional Igvm request attributes. 0 - error_code: Requesting IGVM Agent Error code 1 - retry: Retry preference 2 - skip_hw_unsealing: Skip hardware unsealing in case key release request fails 3 - use_rsa_aes_key_wrap_384: Request that the IGVM Agent ask Azure Key Vault (AKV) to wrap and release the key with the SHA-384 variant of the composite RSA+AES key-wrap scheme (PKCS#11 CKM_RSA_AES_KEY_WRAP / AKV’s RSA_AES_KEY_WRAP_384): RSA-OAEP-SHA384 (MGF1-SHA-384) wraps an AES-256 KEK that performs AES Key Wrap on the released key. The default is the same CKM_RSA_AES_KEY_WRAP scheme with the inner RSA-OAEP using SHA-1 (MGF1-SHA-1). 4 - corim_endorsement: Request that the IGVM Agent fetch the CoRIM launch endorsement for the guest and include it in the attestation flow.
Implementations§
Source§impl IgvmCapabilityBitMap
impl IgvmCapabilityBitMap
Sourcepub const fn error_code(&self) -> bool
pub const fn error_code(&self) -> bool
Bits: 0..1
Sourcepub const fn with_error_code_checked(self, value: bool) -> Result<Self, ()>
pub const fn with_error_code_checked(self, value: bool) -> Result<Self, ()>
Bits: 0..1
Sourcepub const fn with_error_code(self, value: bool) -> Self
pub const fn with_error_code(self, value: bool) -> Self
Bits: 0..1
Sourcepub const fn set_error_code(&mut self, value: bool)
pub const fn set_error_code(&mut self, value: bool)
Bits: 0..1
Sourcepub const fn with_retry_checked(self, value: bool) -> Result<Self, ()>
pub const fn with_retry_checked(self, value: bool) -> Result<Self, ()>
Bits: 1..2
Sourcepub const fn with_retry(self, value: bool) -> Self
pub const fn with_retry(self, value: bool) -> Self
Bits: 1..2
Sourcepub const fn skip_hw_unsealing(&self) -> bool
pub const fn skip_hw_unsealing(&self) -> bool
Bits: 2..3
Sourcepub const fn with_skip_hw_unsealing_checked(
self,
value: bool,
) -> Result<Self, ()>
pub const fn with_skip_hw_unsealing_checked( self, value: bool, ) -> Result<Self, ()>
Bits: 2..3
Sourcepub const fn with_skip_hw_unsealing(self, value: bool) -> Self
pub const fn with_skip_hw_unsealing(self, value: bool) -> Self
Bits: 2..3
Sourcepub const fn set_skip_hw_unsealing(&mut self, value: bool)
pub const fn set_skip_hw_unsealing(&mut self, value: bool)
Bits: 2..3
Sourcepub const fn set_skip_hw_unsealing_checked(
&mut self,
value: bool,
) -> Result<(), ()>
pub const fn set_skip_hw_unsealing_checked( &mut self, value: bool, ) -> Result<(), ()>
Bits: 2..3
Sourcepub const fn use_rsa_aes_key_wrap_384(&self) -> bool
pub const fn use_rsa_aes_key_wrap_384(&self) -> bool
Bits: 3..4
Sourcepub const fn with_use_rsa_aes_key_wrap_384_checked(
self,
value: bool,
) -> Result<Self, ()>
pub const fn with_use_rsa_aes_key_wrap_384_checked( self, value: bool, ) -> Result<Self, ()>
Bits: 3..4
Sourcepub const fn with_use_rsa_aes_key_wrap_384(self, value: bool) -> Self
pub const fn with_use_rsa_aes_key_wrap_384(self, value: bool) -> Self
Bits: 3..4
Sourcepub const fn set_use_rsa_aes_key_wrap_384(&mut self, value: bool)
pub const fn set_use_rsa_aes_key_wrap_384(&mut self, value: bool)
Bits: 3..4
Sourcepub const fn set_use_rsa_aes_key_wrap_384_checked(
&mut self,
value: bool,
) -> Result<(), ()>
pub const fn set_use_rsa_aes_key_wrap_384_checked( &mut self, value: bool, ) -> Result<(), ()>
Bits: 3..4
Sourcepub const fn corim_endorsement(&self) -> bool
pub const fn corim_endorsement(&self) -> bool
Bits: 4..5
Sourcepub const fn with_corim_endorsement_checked(
self,
value: bool,
) -> Result<Self, ()>
pub const fn with_corim_endorsement_checked( self, value: bool, ) -> Result<Self, ()>
Bits: 4..5
Sourcepub const fn with_corim_endorsement(self, value: bool) -> Self
pub const fn with_corim_endorsement(self, value: bool) -> Self
Bits: 4..5
Sourcepub const fn set_corim_endorsement(&mut self, value: bool)
pub const fn set_corim_endorsement(&mut self, value: bool)
Bits: 4..5
Trait Implementations§
Source§impl Clone for IgvmCapabilityBitMap
impl Clone for IgvmCapabilityBitMap
Source§fn clone(&self) -> IgvmCapabilityBitMap
fn clone(&self) -> IgvmCapabilityBitMap
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for IgvmCapabilityBitMap
impl Debug for IgvmCapabilityBitMap
Source§impl Default for IgvmCapabilityBitMap
impl Default for IgvmCapabilityBitMap
Source§impl From<IgvmCapabilityBitMap> for u32
impl From<IgvmCapabilityBitMap> for u32
Source§fn from(v: IgvmCapabilityBitMap) -> u32
fn from(v: IgvmCapabilityBitMap) -> u32
Source§impl From<u32> for IgvmCapabilityBitMap
impl From<u32> for IgvmCapabilityBitMap
Source§impl FromBytes for IgvmCapabilityBitMapwhere
u32: FromBytes,
impl FromBytes for IgvmCapabilityBitMapwhere
u32: FromBytes,
§fn ref_from_bytes(
source: &[u8],
) -> Result<&Self, ConvertError<AlignmentError<&[u8], Self>, SizeError<&[u8], Self>, Infallible>>where
Self: KnownLayout + Immutable,
fn ref_from_bytes(
source: &[u8],
) -> Result<&Self, ConvertError<AlignmentError<&[u8], Self>, SizeError<&[u8], Self>, Infallible>>where
Self: KnownLayout + Immutable,
§fn ref_from_prefix(
source: &[u8],
) -> Result<(&Self, &[u8]), ConvertError<AlignmentError<&[u8], Self>, SizeError<&[u8], Self>, Infallible>>where
Self: KnownLayout + Immutable,
fn ref_from_prefix(
source: &[u8],
) -> Result<(&Self, &[u8]), ConvertError<AlignmentError<&[u8], Self>, SizeError<&[u8], Self>, Infallible>>where
Self: KnownLayout + Immutable,
§fn ref_from_suffix(
source: &[u8],
) -> Result<(&[u8], &Self), ConvertError<AlignmentError<&[u8], Self>, SizeError<&[u8], Self>, Infallible>>where
Self: Immutable + KnownLayout,
fn ref_from_suffix(
source: &[u8],
) -> Result<(&[u8], &Self), ConvertError<AlignmentError<&[u8], Self>, SizeError<&[u8], Self>, Infallible>>where
Self: Immutable + KnownLayout,
&Self. Read more§fn mut_from_bytes(
source: &mut [u8],
) -> Result<&mut Self, ConvertError<AlignmentError<&mut [u8], Self>, SizeError<&mut [u8], Self>, Infallible>>where
Self: IntoBytes + KnownLayout,
fn mut_from_bytes(
source: &mut [u8],
) -> Result<&mut Self, ConvertError<AlignmentError<&mut [u8], Self>, SizeError<&mut [u8], Self>, Infallible>>where
Self: IntoBytes + KnownLayout,
§fn mut_from_prefix(
source: &mut [u8],
) -> Result<(&mut Self, &mut [u8]), ConvertError<AlignmentError<&mut [u8], Self>, SizeError<&mut [u8], Self>, Infallible>>where
Self: IntoBytes + KnownLayout,
fn mut_from_prefix(
source: &mut [u8],
) -> Result<(&mut Self, &mut [u8]), ConvertError<AlignmentError<&mut [u8], Self>, SizeError<&mut [u8], Self>, Infallible>>where
Self: IntoBytes + KnownLayout,
§fn mut_from_suffix(
source: &mut [u8],
) -> Result<(&mut [u8], &mut Self), ConvertError<AlignmentError<&mut [u8], Self>, SizeError<&mut [u8], Self>, Infallible>>where
Self: IntoBytes + KnownLayout,
fn mut_from_suffix(
source: &mut [u8],
) -> Result<(&mut [u8], &mut Self), ConvertError<AlignmentError<&mut [u8], Self>, SizeError<&mut [u8], Self>, Infallible>>where
Self: IntoBytes + KnownLayout,
Source§impl FromZeros for IgvmCapabilityBitMapwhere
u32: FromZeros,
impl FromZeros for IgvmCapabilityBitMapwhere
u32: FromZeros,
§fn new_zeroed() -> Selfwhere
Self: Sized,
fn new_zeroed() -> Selfwhere
Self: Sized,
Self from zeroed bytes. Read more§fn new_box_zeroed() -> Result<Box<Self>, AllocError>where
Self: Sized,
fn new_box_zeroed() -> Result<Box<Self>, AllocError>where
Self: Sized,
Box<Self> from zeroed bytes. Read more§fn new_vec_zeroed(len: usize) -> Result<Vec<Self>, AllocError>where
Self: Sized,
fn new_vec_zeroed(len: usize) -> Result<Vec<Self>, AllocError>where
Self: Sized,
Vec<Self> from zeroed bytes. Read moreSource§impl IntoBytes for IgvmCapabilityBitMapwhere
u32: IntoBytes,
impl IntoBytes for IgvmCapabilityBitMapwhere
u32: IntoBytes,
§fn as_mut_bytes(&mut self) -> &mut [u8] ⓘwhere
Self: FromBytes,
fn as_mut_bytes(&mut self) -> &mut [u8] ⓘwhere
Self: FromBytes,
§fn write_to(&self, dst: &mut [u8]) -> Result<(), SizeError<&Self, &mut [u8]>>where
Self: Immutable,
fn write_to(&self, dst: &mut [u8]) -> Result<(), SizeError<&Self, &mut [u8]>>where
Self: Immutable,
Source§impl KnownLayout for IgvmCapabilityBitMapwhere
Self: Sized,
impl KnownLayout for IgvmCapabilityBitMapwhere
Self: Sized,
Source§type PointerMetadata = ()
type PointerMetadata = ()
Self. Read more§fn size_for_metadata(meta: Self::PointerMetadata) -> Option<usize>
fn size_for_metadata(meta: Self::PointerMetadata) -> Option<usize>
Self with the given pointer
metadata. Read more