pub struct AppCheckerRsaSimulated<'a> { /* private fields */ }
Expand description

A sample Credentials Checking Policy that loads and runs Userspace Binaries that have RSA3072 or RSA4096 credentials. It uses the public key stored in the credentials as the Application Identifier, and the bottom 31 bits of the public key as the ShortID. WARNING: this policy does not actually check the RSA signature: it always blindly assumes it is correct. This checker exists to test that the Tock boot sequence correctly handles ID collisions and version numbers.

Implementations§

Trait Implementations§

source§

impl<'a> AppCredentialsChecker<'a> for AppCheckerRsaSimulated<'a>

source§

fn require_credentials(&self) -> bool

source§

fn check_credentials( &self, credentials: TbfFooterV2Credentials, binary: &'a [u8] ) -> Result<(), (ErrorCode, TbfFooterV2Credentials, &'a [u8])>

source§

fn set_client(&self, client: &'a dyn Client<'a>)

source§

impl AppUniqueness for AppCheckerRsaSimulated<'_>

source§

fn different_identifier( &self, process_a: &dyn Process, process_b: &dyn Process ) -> bool

Returns whether process_a and process_b have a different identifier, and so can run concurrently. If this returns false, the kernel will not run process_a and process_b at the same time.
source§

impl Compress for AppCheckerRsaSimulated<'_>

source§

impl<'a> DeferredCallClient for AppCheckerRsaSimulated<'a>

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for Twhere T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for Twhere T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for Twhere U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T> SizedTypeProperties for T

source§

const IS_ZST: bool = size_of::<Self>() == 0

🔬This is a nightly-only experimental API. (sized_type_properties)
true if this type requires no storage. false if its size is greater than zero. Read more
source§

impl<T, U> TryFrom<U> for Twhere U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for Twhere U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
source§

impl<'a, T> CredentialsCheckingPolicy<'a> for Twhere T: AppCredentialsChecker<'a> + Compress + AppUniqueness,