Enum oasis_core_runtime::enclave_rpc::session::RAKBinding
source · pub enum RAKBinding {
V0 {
rak_pub: PublicKey,
binding: Signature,
avr: AVR,
},
V1 {
rak_pub: PublicKey,
binding: Signature,
quote: Quote,
},
V2 {
ect: EndorsedCapabilityTEE,
binding: Signature,
},
}
Expand description
Binding of the session’s static public key to a remote attestation verification report through the use of the remote attestation key.
The signature chain is as follows:
avr
contains the remote attestation verification report which binds RAK to the remote attestation.rak_pub
contains the public part of RAK.binding
is signed byrak_pub
and binds the session’s static public key to RAK.
Variants§
V0
Old V0 format that only supported IAS quotes.
V1
New V1 format that supports both IAS and PCS quotes.
V2
V2 format which supports endorsed CapabilityTEE structures.
Implementations§
source§impl RAKBinding
impl RAKBinding
sourcepub fn verify(
&self,
remote_static: &[u8],
remote_enclaves: &Option<HashSet<EnclaveIdentity>>,
policy: &QuotePolicy,
) -> Result<VerifiedEndorsedCapabilityTEE>
pub fn verify( &self, remote_static: &[u8], remote_enclaves: &Option<HashSet<EnclaveIdentity>>, policy: &QuotePolicy, ) -> Result<VerifiedEndorsedCapabilityTEE>
Verify the RAK binding.
Trait Implementations§
source§impl Clone for RAKBinding
impl Clone for RAKBinding
source§fn clone(&self) -> RAKBinding
fn clone(&self) -> RAKBinding
Returns a copy of the value. Read more
1.0.0 · 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 RAKBinding
impl Debug for RAKBinding
source§impl Decode for RAKBinding
impl Decode for RAKBinding
source§fn try_from_cbor_value(value: Value) -> Result<Self, DecodeError>
fn try_from_cbor_value(value: Value) -> Result<Self, DecodeError>
Try to decode from a given CBOR value.
§fn try_default() -> Result<Self, DecodeError>where
Self: Sized,
fn try_default() -> Result<Self, DecodeError>where
Self: Sized,
Try to decode from a missing/null/undefined value.
§fn try_from_cbor_value_default(value: Value) -> Result<Self, DecodeError>where
Self: Sized,
fn try_from_cbor_value_default(value: Value) -> Result<Self, DecodeError>where
Self: Sized,
Try to decode from a given CBOR value, calling
try_default
in case the value is null or
undefined.source§impl Encode for RAKBinding
impl Encode for RAKBinding
source§impl EncodeAsMap for RAKBinding
impl EncodeAsMap for RAKBinding
§fn into_cbor_value_map(self) -> Valuewhere
Self: Sized,
fn into_cbor_value_map(self) -> Valuewhere
Self: Sized,
Encode the type into a CBOR Map.
§fn into_cbor_map(self) -> Vec<(Value, Value)>where
Self: Sized,
fn into_cbor_map(self) -> Vec<(Value, Value)>where
Self: Sized,
Encode the type into a CBOR Map, returning the map items.
Auto Trait Implementations§
impl Freeze for RAKBinding
impl RefUnwindSafe for RAKBinding
impl Send for RAKBinding
impl Sync for RAKBinding
impl Unpin for RAKBinding
impl UnwindSafe for RAKBinding
Blanket Implementations§
§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
§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
source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
source§default unsafe fn clone_to_uninit(&self, dst: *mut T)
default unsafe fn clone_to_uninit(&self, dst: *mut T)
🔬This is a nightly-only experimental API. (
clone_to_uninit
)