aboutsummaryrefslogtreecommitdiffstats
path: root/src/identity.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/identity.rs')
-rw-r--r--src/identity.rs27
1 files changed, 10 insertions, 17 deletions
diff --git a/src/identity.rs b/src/identity.rs
index 602940f..90d4fad 100644
--- a/src/identity.rs
+++ b/src/identity.rs
@@ -19,35 +19,28 @@ impl Identity {
keys.extend(std::iter::repeat(0).take(64));
let enc_key = &mut keys.data_mut()[0..32];
- ring::pbkdf2::derive(
- ring::pbkdf2::PBKDF2_HMAC_SHA256,
- iterations,
- email.as_bytes(),
+ pbkdf2::pbkdf2::<hmac::Hmac<sha2::Sha256>>(
password.password(),
+ email.as_bytes(),
+ iterations.get(),
enc_key,
);
let mut hash = crate::locked::Vec::new();
hash.extend(std::iter::repeat(0).take(32));
- ring::pbkdf2::derive(
- ring::pbkdf2::PBKDF2_HMAC_SHA256,
- std::num::NonZeroU32::new(1).unwrap(),
- password.password(),
+ pbkdf2::pbkdf2::<hmac::Hmac<sha2::Sha256>>(
enc_key,
+ password.password(),
+ 1,
hash.data_mut(),
);
- let hkdf =
- ring::hkdf::Prk::new_less_safe(ring::hkdf::HKDF_SHA256, enc_key);
- hkdf.expand(&[b"enc"], ring::hkdf::HKDF_SHA256)
- .map_err(|_| Error::HkdfExpand)?
- .fill(enc_key)
+ let hkdf = hkdf::Hkdf::<sha2::Sha256>::from_prk(enc_key)
+ .map_err(|_| Error::HkdfExpand)?;
+ hkdf.expand(b"enc", enc_key)
.map_err(|_| Error::HkdfExpand)?;
-
let mac_key = &mut keys.data_mut()[32..64];
- hkdf.expand(&[b"mac"], ring::hkdf::HKDF_SHA256)
- .map_err(|_| Error::HkdfExpand)?
- .fill(mac_key)
+ hkdf.expand(b"mac", mac_key)
.map_err(|_| Error::HkdfExpand)?;
let keys = crate::locked::Keys::new(keys);