capsules_system::process_checker::basic

Struct AppCheckerRsaSimulated

Source
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> AppCredentialsPolicy<'a> for AppCheckerRsaSimulated<'a>

Source§

fn require_credentials(&self) -> bool

Whether credentials are required or not. Read more
Source§

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

Check a particular credential. Read more
Source§

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

Set the client which gets notified after the credential check completes.
Source§

impl DeferredCallClient for AppCheckerRsaSimulated<'_>

Source§

fn handle_deferred_call(&self)

Software interrupt function that is called when the deferred call is triggered.
Source§

fn register(&'static self)

Auto Trait Implementations§

Blanket Implementations§

Source§

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

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

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

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where 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 T
where 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, U> TryFrom<U> for T
where U: Into<T>,

Source§

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 T
where U: TryFrom<T>,

Source§

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.