Fixed HMAC blocking mode.
This commit is contained in:
parent
f0f1f2d14c
commit
14a678fe45
1 changed files with 5 additions and 5 deletions
|
@ -215,7 +215,7 @@ impl<'d, T: Instance, D> Hash<'d, T, D> {
|
|||
self.accumulate_blocking(key);
|
||||
T::regs().str().write(|w| w.set_dcal(true));
|
||||
// Block waiting for digest.
|
||||
while !T::regs().sr().read().dcis() {}
|
||||
while !T::regs().sr().read().dinis() {}
|
||||
}
|
||||
ctx.key_sent = true;
|
||||
}
|
||||
|
@ -365,16 +365,16 @@ impl<'d, T: Instance, D> Hash<'d, T, D> {
|
|||
//Start the digest calculation.
|
||||
T::regs().str().write(|w| w.set_dcal(true));
|
||||
|
||||
// Block waiting for digest.
|
||||
while !T::regs().sr().read().dcis() {}
|
||||
|
||||
// Load the HMAC key if provided.
|
||||
if let Some(key) = ctx.key {
|
||||
while !T::regs().sr().read().dinis() {}
|
||||
self.accumulate_blocking(key);
|
||||
T::regs().str().write(|w| w.set_dcal(true));
|
||||
while !T::regs().sr().read().dcis() {}
|
||||
}
|
||||
|
||||
// Block until digest computation is complete.
|
||||
while !T::regs().sr().read().dcis() {}
|
||||
|
||||
// Return the digest.
|
||||
let digest_words = match ctx.algo {
|
||||
Algorithm::SHA1 => 5,
|
||||
|
|
Loading…
Reference in a new issue