From 0073c153d257986e3260cac181bea80b50af789b Mon Sep 17 00:00:00 2001 From: Julien Cretin Date: Thu, 4 Jun 2020 14:32:04 +0200 Subject: [PATCH] Propagate the NBYTES constant from Int256 to SecKey --- libraries/crypto/src/ecdsa.rs | 6 ++++-- src/ctap/storage.rs | 2 +- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/libraries/crypto/src/ecdsa.rs b/libraries/crypto/src/ecdsa.rs index 966552d..8b4329a 100644 --- a/libraries/crypto/src/ecdsa.rs +++ b/libraries/crypto/src/ecdsa.rs @@ -22,6 +22,8 @@ use super::{Hash256, HashBlockSize64Bytes}; use alloc::vec::Vec; use core::marker::PhantomData; +pub use super::ec::int256::NBYTES; + #[derive(Clone, PartialEq)] #[cfg_attr(feature = "derive_debug", derive(Debug))] pub struct SecKey { @@ -140,7 +142,7 @@ impl SecKey { } } - pub fn from_bytes(bytes: &[u8; 32]) -> Option { + pub fn from_bytes(bytes: &[u8; NBYTES]) -> Option { let k = NonZeroExponentP256::from_int_checked(Int256::from_bin(bytes)); // The branching here is fine because all this reveals is whether the key was invalid. if bool::from(k.is_none()) { @@ -150,7 +152,7 @@ impl SecKey { Some(SecKey { k }) } - pub fn to_bytes(&self, bytes: &mut [u8; 32]) { + pub fn to_bytes(&self, bytes: &mut [u8; NBYTES]) { self.k.to_int().to_bin(bytes); } } diff --git a/src/ctap/storage.rs b/src/ctap/storage.rs index 452bff6..c138660 100644 --- a/src/ctap/storage.rs +++ b/src/ctap/storage.rs @@ -62,7 +62,7 @@ const AAGUID: usize = 7; const NUM_TAGS: usize = 8; const MAX_PIN_RETRIES: u8 = 6; -const ATTESTATION_PRIVATE_KEY_LENGTH: usize = 32; +const ATTESTATION_PRIVATE_KEY_LENGTH: usize = crypto::ecdsa::NBYTES; const AAGUID_LENGTH: usize = 16; #[derive(PartialEq, Eq, PartialOrd, Ord)]