From bf1504cca6a35edfe27aa45d02efb7436d199018 Mon Sep 17 00:00:00 2001 From: shimunn Date: Sat, 14 Sep 2019 18:44:33 +0200 Subject: [PATCH] takes slices --- src/extensions/hmac.rs | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/src/extensions/hmac.rs b/src/extensions/hmac.rs index 58ec619..1a529d7 100644 --- a/src/extensions/hmac.rs +++ b/src/extensions/hmac.rs @@ -31,7 +31,7 @@ pub trait HmacExtension { "hmac-secret" } - fn get_dict(&mut self, salt: [u8; 32], salt2: Option<[u8; 32]>) -> FidoResult { + fn get_dict(&mut self, salt: &[u8; 32], salt2: Option<&[u8; 32]>) -> FidoResult { let mut map = BTreeMap::new(); map.insert( Key::Text(Text::Text(Self::extension_name().to_owned())), @@ -40,15 +40,15 @@ pub trait HmacExtension { Ok(Value::Map(map)) } - fn get_data(&mut self, salt: [u8; 32], salt2: Option<[u8; 32]>) -> FidoResult; + fn get_data(&mut self, salt: &[u8; 32], salt2: Option<&[u8; 32]>) -> FidoResult; fn make_hmac_credential(&mut self) -> FidoResult; fn get_hmac_assertion( &mut self, credential: &FidoHmacCredential, - salt: [u8; 32], - salt2: Option<[u8; 32]>, + salt: &[u8; 32], + salt2: Option<&[u8; 32]>, ) -> FidoResult<([u8; 32], Option<[u8; 32]>)>; fn hmac_challange( @@ -60,21 +60,21 @@ pub trait HmacExtension { let mut digest = Sha256::new(); digest.input(input); digest.result(&mut salt); - self.get_hmac_assertion(credential, salt, None).map(|secret| secret.0) + self.get_hmac_assertion(credential, &salt, None).map(|secret| secret.0) } } impl HmacExtension for FidoDevice { - fn get_data(&mut self, salt: [u8; 32], salt2: Option<[u8; 32]>) -> FidoResult { + fn get_data(&mut self, salt: &[u8; 32], salt2: Option<&[u8; 32]>) -> FidoResult { let shared_secret = self.shared_secret.as_ref().unwrap(); let mut encryptor = shared_secret.encryptor(); let mut salt_enc = [0u8; 64]; let mut output = RefWriteBuffer::new(&mut salt_enc); let mut encrypt = || { - encryptor.encrypt(&mut RefReadBuffer::new(&salt), &mut output, salt2.is_none())?; + encryptor.encrypt(&mut RefReadBuffer::new(salt), &mut output, salt2.is_none())?; if let Some(salt2) = salt2 { encryptor - .encrypt(&mut RefReadBuffer::new(&salt2), &mut output, true) + .encrypt(&mut RefReadBuffer::new(salt2), &mut output, true) .map(|_| ()) } else { Ok(()) @@ -124,8 +124,8 @@ impl HmacExtension for FidoDevice { fn get_hmac_assertion( &mut self, credential: &FidoHmacCredential, - salt: [u8; 32], - salt2: Option<[u8; 32]>, + salt: &[u8; 32], + salt2: Option<&[u8; 32]>, ) -> FidoResult<([u8; 32], Option<[u8; 32]>)> { let client_data_hash = [0u8; 32]; while self.shared_secret.is_none() {