pub struct AppCheckerSignatureComponent<S: SignatureVerify<'static, HASH_LEN, SIGNATURE_LEN> + SelectKey<'static> + 'static, H: DigestDataHash<'static, HASH_LEN> + 'static, const HASH_LEN: usize, const SIGNATURE_LEN: usize> { /* private fields */ }
Implementations§
Source§impl<S: SignatureVerify<'static, HASH_LEN, SIGNATURE_LEN> + SelectKey<'static>, H: DigestDataHash<'static, HASH_LEN>, const HASH_LEN: usize, const SIGNATURE_LEN: usize> AppCheckerSignatureComponent<S, H, HASH_LEN, SIGNATURE_LEN>
impl<S: SignatureVerify<'static, HASH_LEN, SIGNATURE_LEN> + SelectKey<'static>, H: DigestDataHash<'static, HASH_LEN>, const HASH_LEN: usize, const SIGNATURE_LEN: usize> AppCheckerSignatureComponent<S, H, HASH_LEN, SIGNATURE_LEN>
pub fn new( hasher: &'static H, verifier: &'static S, credential_type: TbfFooterV2CredentialsType, ) -> Self
Trait Implementations§
Source§impl<S: SignatureVerify<'static, HASH_LEN, SIGNATURE_LEN> + SelectKey<'static>, H: DigestDataHash<'static, HASH_LEN> + Digest<'static, HASH_LEN>, const HASH_LEN: usize, const SIGNATURE_LEN: usize> Component for AppCheckerSignatureComponent<S, H, HASH_LEN, SIGNATURE_LEN>
impl<S: SignatureVerify<'static, HASH_LEN, SIGNATURE_LEN> + SelectKey<'static>, H: DigestDataHash<'static, HASH_LEN> + Digest<'static, HASH_LEN>, const HASH_LEN: usize, const SIGNATURE_LEN: usize> Component for AppCheckerSignatureComponent<S, H, HASH_LEN, SIGNATURE_LEN>
Source§type StaticInput = (&'static mut MaybeUninit<AppCheckerSignature<'static, S, H, HASH_LEN, SIGNATURE_LEN>>, &'static mut MaybeUninit<[u8; HASH_LEN]>, &'static mut MaybeUninit<[u8; SIGNATURE_LEN]>)
type StaticInput = (&'static mut MaybeUninit<AppCheckerSignature<'static, S, H, HASH_LEN, SIGNATURE_LEN>>, &'static mut MaybeUninit<[u8; HASH_LEN]>, &'static mut MaybeUninit<[u8; SIGNATURE_LEN]>)
An optional type to specify the chip or board specific static memory
that a component needs to setup the output object(s). This is the memory
that
crate::static_buf!()
would normally setup, but generic
components cannot setup static buffers for types which are
chip-dependent, so those buffers have to be passed in manually, and the
Component::StaticInput
type makes this possible.Source§type Output = &'static AppCheckerSignature<'static, S, H, HASH_LEN, SIGNATURE_LEN>
type Output = &'static AppCheckerSignature<'static, S, H, HASH_LEN, SIGNATURE_LEN>
The type (e.g., capsule, peripheral) that this implementation of
Component
produces via Component::finalize()
. This is typically
a static reference (&'static
).Source§fn finalize(self, s: Self::StaticInput) -> Self::Output
fn finalize(self, s: Self::StaticInput) -> Self::Output
Auto Trait Implementations§
impl<S, H, const HASH_LEN: usize, const SIGNATURE_LEN: usize> Freeze for AppCheckerSignatureComponent<S, H, HASH_LEN, SIGNATURE_LEN>
impl<S, H, const HASH_LEN: usize, const SIGNATURE_LEN: usize> RefUnwindSafe for AppCheckerSignatureComponent<S, H, HASH_LEN, SIGNATURE_LEN>where
H: RefUnwindSafe,
S: RefUnwindSafe,
impl<S, H, const HASH_LEN: usize, const SIGNATURE_LEN: usize> Send for AppCheckerSignatureComponent<S, H, HASH_LEN, SIGNATURE_LEN>
impl<S, H, const HASH_LEN: usize, const SIGNATURE_LEN: usize> Sync for AppCheckerSignatureComponent<S, H, HASH_LEN, SIGNATURE_LEN>
impl<S, H, const HASH_LEN: usize, const SIGNATURE_LEN: usize> Unpin for AppCheckerSignatureComponent<S, H, HASH_LEN, SIGNATURE_LEN>
impl<S, H, const HASH_LEN: usize, const SIGNATURE_LEN: usize> UnwindSafe for AppCheckerSignatureComponent<S, H, HASH_LEN, SIGNATURE_LEN>where
H: RefUnwindSafe,
S: RefUnwindSafe,
Blanket Implementations§
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