Skip to main content

HmacSha256Software

Struct HmacSha256Software 

Source
pub struct HmacSha256Software<'a, S: Sha256 + DigestDataHash<'a, 32>> { /* private fields */ }

Implementations§

Source§

impl<'a, S: Sha256 + DigestDataHash<'a, 32>> HmacSha256Software<'a, S>

Source

pub fn new( sha256: &'a S, data_buffer: &'static mut [u8], verify_buffer: &'static mut [u8; 32], ) -> Self

Trait Implementations§

Source§

impl<'a, S: Sha256 + DigestDataHash<'a, 32>> ClientData<32> for HmacSha256Software<'a, S>

Source§

fn add_data_done( &self, result: Result<(), ErrorCode>, data: SubSlice<'static, u8>, )

Called when the data has been added to the digest. Read more
Source§

fn add_mut_data_done( &self, result: Result<(), ErrorCode>, data: SubSliceMut<'static, u8>, )

Called when the data has been added to the digest. Read more
Source§

impl<'a, S: Sha256 + DigestDataHash<'a, 32>> ClientHash<32> for HmacSha256Software<'a, S>

Source§

fn hash_done( &self, result: Result<(), ErrorCode>, digest: &'static mut [u8; 32], )

Called when a digest is computed. Read more
Source§

impl<'a, S: Sha256 + DigestDataHash<'a, 32>> ClientVerify<32> for HmacSha256Software<'a, S>

Source§

fn verification_done( &self, _result: Result<bool, ErrorCode>, _compare: &'static mut [u8; 32], )

Called when a verification is computed. Read more
Source§

impl<'a, S: Sha256 + DigestDataHash<'a, 32>> Digest<'a, 32> for HmacSha256Software<'a, S>

Source§

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

Set the client instance which will receive hash_done(), add_data_done() and verification_done() callbacks.
Source§

impl<'a, S: Sha256 + DigestDataHash<'a, 32>> DigestData<'a, 32> for HmacSha256Software<'a, S>

Source§

fn add_data( &self, data: SubSlice<'static, u8>, ) -> Result<(), (ErrorCode, SubSlice<'static, u8>)>

Add data to the input of the hash function/digest. Read more
Source§

fn add_mut_data( &self, data: SubSliceMut<'static, u8>, ) -> Result<(), (ErrorCode, SubSliceMut<'static, u8>)>

Add data to the input of the hash function/digest. Read more
Source§

fn clear_data(&self)

Clear the keys and any other internal state. Read more
Source§

fn set_data_client(&'a self, _client: &'a dyn ClientData<32>)

Set the client instance which will handle the add_data_done and add_mut_data_done callbacks.
Source§

impl<'a, S: Sha256 + DigestDataHash<'a, 32>> DigestDataHash<'a, 32> for HmacSha256Software<'a, S>

Source§

fn set_client(&'a self, _client: &'a dyn ClientDataHash<32>)

Set the client instance which will receive hash_done() and add_data_done() callbacks.
Source§

impl<'a, S: Sha256 + DigestDataHash<'a, 32>> DigestHash<'a, 32> for HmacSha256Software<'a, S>

Source§

fn run( &'a self, digest: &'static mut [u8; 32], ) -> Result<(), (ErrorCode, &'static mut [u8; 32])>

Compute a digest of all of the data added with add_data and add_data_mut, storing the computed value in digest. Read more
Source§

fn set_hash_client(&'a self, _client: &'a dyn ClientHash<32>)

Set the client instance which will receive the hash_done() callback.
Source§

impl<'a, S: Sha256 + DigestDataHash<'a, 32>> DigestVerify<'a, 32> for HmacSha256Software<'a, S>

Source§

fn verify( &'a self, compare: &'static mut [u8; 32], ) -> Result<(), (ErrorCode, &'static mut [u8; 32])>

Compute a digest of all of the data added with add_data and add_data_mut then compare it with value in compare. Read more
Source§

fn set_verify_client(&'a self, _client: &'a dyn ClientVerify<32>)

Set the client instance which will receive the verification_done() callback.
Source§

impl<'a, S: Sha256 + DigestDataHash<'a, 32>> HmacSha256 for HmacSha256Software<'a, S>

Source§

fn set_mode_hmacsha256(&self, key: &[u8]) -> Result<(), ErrorCode>

Call before adding data to perform HMACSha256 Read more
Source§

impl<'a, S: Sha256 + DigestDataHash<'a, 32>> HmacSha384 for HmacSha256Software<'a, S>

Source§

fn set_mode_hmacsha384(&self, _key: &[u8]) -> Result<(), ErrorCode>

Call before adding data to perform HMACSha384 Read more
Source§

impl<'a, S: Sha256 + DigestDataHash<'a, 32>> HmacSha512 for HmacSha256Software<'a, S>

Source§

fn set_mode_hmacsha512(&self, _key: &[u8]) -> Result<(), ErrorCode>

Call before adding data to perform HMACSha512 Read more

Auto Trait Implementations§

§

impl<'a, S> !Freeze for HmacSha256Software<'a, S>

§

impl<'a, S> !RefUnwindSafe for HmacSha256Software<'a, S>

§

impl<'a, S> !Send for HmacSha256Software<'a, S>

§

impl<'a, S> !Sync for HmacSha256Software<'a, S>

§

impl<'a, S> Unpin for HmacSha256Software<'a, S>

§

impl<'a, S> UnsafeUnpin for HmacSha256Software<'a, S>

§

impl<'a, S> !UnwindSafe for HmacSha256Software<'a, S>

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.
Source§

impl<T, const DIGEST_LEN: usize> Client<DIGEST_LEN> for T
where T: ClientData<DIGEST_LEN> + ClientHash<DIGEST_LEN> + ClientVerify<DIGEST_LEN>,

Source§

impl<T, const DIGEST_LEN: usize> ClientDataHash<DIGEST_LEN> for T
where T: ClientData<DIGEST_LEN> + ClientHash<DIGEST_LEN>,

Source§

impl<T, const DIGEST_LEN: usize> ClientDataVerify<DIGEST_LEN> for T
where T: ClientData<DIGEST_LEN> + ClientVerify<DIGEST_LEN>,