From ed63c41eb11f8df46a4a04bcb70e9ad7bf6a3297 Mon Sep 17 00:00:00 2001 From: Jack Grigg Date: Thu, 23 Dec 2021 16:48:30 +0000 Subject: [PATCH] Migrate to hkdf 0.12 We need to depend on two versions of the `sha2` crate because `rsa` doesn't have a version depending on `digest 0.10` yet. --- Cargo.lock | 99 +++++++++++++++++++++++++++------------- age-core/Cargo.toml | 4 +- age/Cargo.toml | 11 +++-- age/src/error.rs | 4 +- age/src/format.rs | 2 +- age/src/primitives.rs | 8 ++-- age/src/ssh/identity.rs | 2 +- age/src/ssh/recipient.rs | 2 +- fuzz-afl/Cargo.lock | 80 ++++++++++++++++++++++---------- fuzz/Cargo.lock | 80 ++++++++++++++++++++++---------- 10 files changed, 194 insertions(+), 98 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index b5c05af..819b386 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -79,7 +79,8 @@ dependencies = [ "rsa", "rust-embed", "scrypt", - "sha2", + "sha2 0.10.0", + "sha2 0.9.8", "subtle", "web-sys", "which", @@ -99,7 +100,7 @@ dependencies = [ "nom", "rand 0.8.4", "secrecy", - "sha2", + "sha2 0.10.0", "tempfile", ] @@ -194,15 +195,14 @@ checksum = "e6b4d9b1225d28d360ec6a231d65af1fd99a2a095154c8040689617290569c5c" [[package]] name = "bcrypt-pbkdf" -version = "0.7.1" +version = "0.7.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a6a610511a47ca83ab86a1b4c665c521c3fc69162c2f45f876304caba9e0a76d" +checksum = "4bde65b3c84000288c0abe8aa601a4b7c40b0dbbb7d144dd6c712ed9796e1fd5" dependencies = [ "blowfish", - "crypto-mac", + "hex-literal", "pbkdf2", - "sha2", - "zeroize", + "sha2 0.10.0", ] [[package]] @@ -232,6 +232,15 @@ dependencies = [ "generic-array", ] +[[package]] +name = "block-buffer" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f1d36a02058e76b040de25a4464ba1c80935655595b661505c8b39b664828b95" +dependencies = [ + "generic-array", +] + [[package]] name = "block-modes" version = "0.8.1" @@ -583,13 +592,12 @@ dependencies = [ ] [[package]] -name = "crypto-mac" -version = "0.11.1" +name = "crypto-common" +version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b1d1a86f49236c215f271d40892d5fc950490551400b02ef360692c29815c714" +checksum = "683d6b536309245c849479fba3da410962a43ed8e51c26b729208ec0ac2798d0" dependencies = [ "generic-array", - "subtle", ] [[package]] @@ -630,7 +638,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0b9fdf9972b2bd6af2d913799d9ebc165ea4d2e65878e329d9c6b372c4491b61" dependencies = [ "byteorder", - "digest", + "digest 0.9.0", "rand_core 0.5.1", "subtle", "zeroize", @@ -674,6 +682,18 @@ dependencies = [ "generic-array", ] +[[package]] +name = "digest" +version = "0.10.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b697d66081d42af4fba142d56918a3cb21dc8eb63372c6b85d14f44fb9c5979b" +dependencies = [ + "block-buffer 0.10.0", + "crypto-common", + "generic-array", + "subtle", +] + [[package]] name = "either" version = "1.6.1" @@ -1012,23 +1032,27 @@ dependencies = [ ] [[package]] -name = "hkdf" -version = "0.11.0" +name = "hex-literal" +version = "0.3.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "01706d578d5c281058480e673ae4086a9f4710d8df1ad80a5b03e39ece5f886b" +checksum = "7ebdb29d2ea9ed0083cd8cece49bbd968021bd99b0849edb4a9a7ee0fdf6a4e0" + +[[package]] +name = "hkdf" +version = "0.12.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "94f41e9c77b6fc05b57497b960aad55942a9bbc5b20e1e623cf7fb1868f695d1" dependencies = [ - "digest", "hmac", ] [[package]] name = "hmac" -version = "0.11.0" +version = "0.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2a2a2320eb7ec0ebe8da8f744d7812d9fc4cb4d09344ac01898dbcb6a20ae69b" +checksum = "ddca131f3e7f2ce2df364b57949a9d47915cfbd35e46cfee355ccebbf794d6a2" dependencies = [ - "crypto-mac", - "digest", + "digest 0.10.1", ] [[package]] @@ -1518,11 +1542,11 @@ dependencies = [ [[package]] name = "pbkdf2" -version = "0.9.0" +version = "0.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f05894bce6a1ba4be299d0c5f29563e08af2bc18bb7d48313113bed71e904739" +checksum = "a4628cc3cf953b82edcd3c1388c5715401420ce5524fedbab426bd5aba017434" dependencies = [ - "crypto-mac", + "digest 0.10.1", ] [[package]] @@ -1970,7 +1994,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e05c2603e2823634ab331437001b411b9ed11660fbc4066f3908c84a9439260d" dependencies = [ "byteorder", - "digest", + "digest 0.9.0", "lazy_static", "num-bigint-dig", "num-integer", @@ -2013,7 +2037,7 @@ version = "7.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6116e7ab9ea963f60f2f20291d8fcf6c7273192cdd7273b3c80729a9605c97b2" dependencies = [ - "sha2", + "sha2 0.9.8", "walkdir", ] @@ -2046,9 +2070,9 @@ checksum = "71d301d4193d031abdd79ff7e3dd721168a9572ef3fe51a1517aba235bd8f86e" [[package]] name = "salsa20" -version = "0.8.1" +version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ecbd2eb639fd7cab5804a0837fe373cc2172d15437e804c054a9fb885cb923b0" +checksum = "0c0fbb5f676da676c260ba276a8f43a8dc67cf02d1438423aeb1c677a7212686" dependencies = [ "cipher", ] @@ -2070,14 +2094,14 @@ checksum = "d29ab0c6d3fc0ee92fe66e2d99f700eab17a8d57d1c1d3b748380fb20baa78cd" [[package]] name = "scrypt" -version = "0.8.0" +version = "0.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9f2cc535b6997b0c755bf9344e71ca0e1be070d07ff792f1fcd31e7b90e07d5f" +checksum = "e73d6d7c6311ebdbd9184ad6c4447b2f36337e327bda107d3ba9e3c374f9d325" dependencies = [ "hmac", "pbkdf2", "salsa20", - "sha2", + "sha2 0.10.0", ] [[package]] @@ -2142,13 +2166,24 @@ version = "0.9.8" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b69f9a4c9740d74c5baa3fd2e547f9525fa8088a8a958e0ca2409a514e33f5fa" dependencies = [ - "block-buffer", + "block-buffer 0.9.0", "cfg-if", "cpufeatures", - "digest", + "digest 0.9.0", "opaque-debug", ] +[[package]] +name = "sha2" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "900d964dd36bb15bcf2f2b35694c072feab74969a54f2bbeec7a2d725d2bdcb6" +dependencies = [ + "cfg-if", + "cpufeatures", + "digest 0.10.1", +] + [[package]] name = "slab" version = "0.4.5" diff --git a/age-core/Cargo.toml b/age-core/Cargo.toml index 83b806e..cb114ff 100644 --- a/age-core/Cargo.toml +++ b/age-core/Cargo.toml @@ -24,8 +24,8 @@ base64 = "0.13" chacha20poly1305 = { version = "0.9", default-features = false, features = ["alloc"] } # - HKDF from RFC 5869 with SHA-256 -hkdf = "0.11" -sha2 = "0.9" +hkdf = "0.12" +sha2 = "0.10" # - CSPRNG rand = "0.8" diff --git a/age/Cargo.toml b/age/Cargo.toml index 127c40f..2c43b6d 100644 --- a/age/Cargo.toml +++ b/age/Cargo.toml @@ -28,12 +28,12 @@ x25519-dalek = "1" # - HKDF from RFC 5869 with SHA-256 # - HMAC from RFC 2104 with SHA-256 -hkdf = "0.11" -hmac = "0.11" -sha2 = "0.9" +hkdf = "0.12" +hmac = "0.12" +sha2 = "0.10" # - scrypt from RFC 7914 -scrypt = { version = "0.8", default-features = false } +scrypt = { version = "0.8.1", default-features = false } # - CSPRNG rand = "0.8" @@ -46,13 +46,14 @@ bech32 = "0.8" # - RSAES-OAEP from RFC 8017 with SHA-256 and MGF1 num-traits = { version = "0.2", optional = true } rsa = { version = "0.5", optional = true } +sha2_09 = { package = "sha2", version = "0.9" } # - Conversion of public keys from Ed25519 to X25519 curve25519-dalek = { version = "3", optional = true } # - Encrypted keys aes = { version = "0.7", optional = true, features = ["ctr"] } -bcrypt-pbkdf = { version = "0.7", optional = true } +bcrypt-pbkdf = { version = "0.7.2", optional = true } block-modes = { version = "0.8", optional = true } # Parsing diff --git a/age/src/error.rs b/age/src/error.rs index 67e5758..105bc1d 100644 --- a/age/src/error.rs +++ b/age/src/error.rs @@ -318,8 +318,8 @@ impl From for DecryptError { } } -impl From for DecryptError { - fn from(_: hmac::crypto_mac::MacError) -> Self { +impl From for DecryptError { + fn from(_: hmac::digest::MacError) -> Self { DecryptError::InvalidMac } } diff --git a/age/src/format.rs b/age/src/format.rs index bd9365f..7bd499f 100644 --- a/age/src/format.rs +++ b/age/src/format.rs @@ -47,7 +47,7 @@ impl HeaderV1 { header } - pub(crate) fn verify_mac(&self, mac_key: HmacKey) -> Result<(), hmac::crypto_mac::MacError> { + pub(crate) fn verify_mac(&self, mac_key: HmacKey) -> Result<(), hmac::digest::MacError> { let mut mac = HmacWriter::new(mac_key); if let Some(bytes) = &self.encoded_bytes { // The MAC covers all bytes up to the end of the --- prefix. diff --git a/age/src/primitives.rs b/age/src/primitives.rs index d35703d..b72dd67 100644 --- a/age/src/primitives.rs +++ b/age/src/primitives.rs @@ -2,8 +2,8 @@ use age_core::secrecy::{ExposeSecret, Secret}; use hmac::{ - crypto_mac::{MacError, Output}, - Hmac, Mac, NewMac, + digest::{CtOutput, MacError}, + Hmac, Mac, }; use scrypt::{errors::InvalidParams, scrypt as scrypt_inner, Params as ScryptParams}; use sha2::Sha256; @@ -35,13 +35,13 @@ impl HmacWriter { } /// Checks if `mac` is correct for the processed input. - pub(crate) fn finalize(self) -> Output> { + pub(crate) fn finalize(self) -> CtOutput> { self.inner.finalize() } /// Checks if `mac` is correct for the processed input. pub(crate) fn verify(self, mac: &[u8]) -> Result<(), MacError> { - self.inner.verify(mac) + self.inner.verify_slice(mac) } } diff --git a/age/src/ssh/identity.rs b/age/src/ssh/identity.rs index 786945f..3aef524 100644 --- a/age/src/ssh/identity.rs +++ b/age/src/ssh/identity.rs @@ -14,7 +14,7 @@ use nom::{ }; use rand::rngs::OsRng; use rsa::padding::PaddingScheme; -use sha2::{Digest, Sha256, Sha512}; +use sha2_09::{Digest, Sha256, Sha512}; use std::convert::TryInto; use std::fmt; use std::io; diff --git a/age/src/ssh/recipient.rs b/age/src/ssh/recipient.rs index 2287ca7..bfa600d 100644 --- a/age/src/ssh/recipient.rs +++ b/age/src/ssh/recipient.rs @@ -13,7 +13,7 @@ use nom::{ }; use rand::rngs::OsRng; use rsa::{padding::PaddingScheme, PublicKey}; -use sha2::Sha256; +use sha2_09::Sha256; use std::convert::TryFrom; use std::fmt; use x25519_dalek::{EphemeralSecret, PublicKey as X25519PublicKey, StaticSecret}; diff --git a/fuzz-afl/Cargo.lock b/fuzz-afl/Cargo.lock index 5628f87..edaf174 100644 --- a/fuzz-afl/Cargo.lock +++ b/fuzz-afl/Cargo.lock @@ -48,7 +48,8 @@ dependencies = [ "rand 0.8.4", "rust-embed", "scrypt", - "sha2", + "sha2 0.10.0", + "sha2 0.9.8", "subtle", "x25519-dalek", "zeroize", @@ -65,7 +66,7 @@ dependencies = [ "nom", "rand 0.8.4", "secrecy", - "sha2", + "sha2 0.10.0", ] [[package]] @@ -123,6 +124,15 @@ dependencies = [ "generic-array", ] +[[package]] +name = "block-buffer" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f1d36a02058e76b040de25a4464ba1c80935655595b661505c8b39b664828b95" +dependencies = [ + "generic-array", +] + [[package]] name = "byteorder" version = "1.4.3" @@ -206,13 +216,12 @@ dependencies = [ ] [[package]] -name = "crypto-mac" -version = "0.11.1" +name = "crypto-common" +version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b1d1a86f49236c215f271d40892d5fc950490551400b02ef360692c29815c714" +checksum = "683d6b536309245c849479fba3da410962a43ed8e51c26b729208ec0ac2798d0" dependencies = [ "generic-array", - "subtle", ] [[package]] @@ -222,7 +231,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0b9fdf9972b2bd6af2d913799d9ebc165ea4d2e65878e329d9c6b372c4491b61" dependencies = [ "byteorder", - "digest", + "digest 0.9.0", "rand_core 0.5.1", "subtle", "zeroize", @@ -247,6 +256,18 @@ dependencies = [ "generic-array", ] +[[package]] +name = "digest" +version = "0.10.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b697d66081d42af4fba142d56918a3cb21dc8eb63372c6b85d14f44fb9c5979b" +dependencies = [ + "block-buffer 0.10.0", + "crypto-common", + "generic-array", + "subtle", +] + [[package]] name = "dirs" version = "3.0.2" @@ -363,22 +384,20 @@ dependencies = [ [[package]] name = "hkdf" -version = "0.11.0" +version = "0.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "01706d578d5c281058480e673ae4086a9f4710d8df1ad80a5b03e39ece5f886b" +checksum = "94f41e9c77b6fc05b57497b960aad55942a9bbc5b20e1e623cf7fb1868f695d1" dependencies = [ - "digest", "hmac", ] [[package]] name = "hmac" -version = "0.11.0" +version = "0.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2a2a2320eb7ec0ebe8da8f744d7812d9fc4cb4d09344ac01898dbcb6a20ae69b" +checksum = "ddca131f3e7f2ce2df364b57949a9d47915cfbd35e46cfee355ccebbf794d6a2" dependencies = [ - "crypto-mac", - "digest", + "digest 0.10.1", ] [[package]] @@ -597,11 +616,11 @@ dependencies = [ [[package]] name = "pbkdf2" -version = "0.9.0" +version = "0.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f05894bce6a1ba4be299d0c5f29563e08af2bc18bb7d48313113bed71e904739" +checksum = "a4628cc3cf953b82edcd3c1388c5715401420ce5524fedbab426bd5aba017434" dependencies = [ - "crypto-mac", + "digest 0.10.1", ] [[package]] @@ -813,7 +832,7 @@ version = "7.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6116e7ab9ea963f60f2f20291d8fcf6c7273192cdd7273b3c80729a9605c97b2" dependencies = [ - "sha2", + "sha2 0.9.8", "walkdir", ] @@ -834,9 +853,9 @@ dependencies = [ [[package]] name = "salsa20" -version = "0.8.1" +version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ecbd2eb639fd7cab5804a0837fe373cc2172d15437e804c054a9fb885cb923b0" +checksum = "0c0fbb5f676da676c260ba276a8f43a8dc67cf02d1438423aeb1c677a7212686" dependencies = [ "cipher", ] @@ -858,14 +877,14 @@ checksum = "d29ab0c6d3fc0ee92fe66e2d99f700eab17a8d57d1c1d3b748380fb20baa78cd" [[package]] name = "scrypt" -version = "0.8.0" +version = "0.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9f2cc535b6997b0c755bf9344e71ca0e1be070d07ff792f1fcd31e7b90e07d5f" +checksum = "e73d6d7c6311ebdbd9184ad6c4447b2f36337e327bda107d3ba9e3c374f9d325" dependencies = [ "hmac", "pbkdf2", "salsa20", - "sha2", + "sha2 0.10.0", ] [[package]] @@ -918,13 +937,24 @@ version = "0.9.8" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b69f9a4c9740d74c5baa3fd2e547f9525fa8088a8a958e0ca2409a514e33f5fa" dependencies = [ - "block-buffer", + "block-buffer 0.9.0", "cfg-if", "cpufeatures", - "digest", + "digest 0.9.0", "opaque-debug", ] +[[package]] +name = "sha2" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "900d964dd36bb15bcf2f2b35694c072feab74969a54f2bbeec7a2d725d2bdcb6" +dependencies = [ + "cfg-if", + "cpufeatures", + "digest 0.10.1", +] + [[package]] name = "smallvec" version = "1.7.0" diff --git a/fuzz/Cargo.lock b/fuzz/Cargo.lock index f91d209..e42e5d6 100644 --- a/fuzz/Cargo.lock +++ b/fuzz/Cargo.lock @@ -35,7 +35,8 @@ dependencies = [ "rand 0.8.4", "rust-embed", "scrypt", - "sha2", + "sha2 0.10.0", + "sha2 0.9.8", "subtle", "x25519-dalek", "zeroize", @@ -52,7 +53,7 @@ dependencies = [ "nom", "rand 0.8.4", "secrecy", - "sha2", + "sha2 0.10.0", ] [[package]] @@ -98,6 +99,15 @@ dependencies = [ "generic-array", ] +[[package]] +name = "block-buffer" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f1d36a02058e76b040de25a4464ba1c80935655595b661505c8b39b664828b95" +dependencies = [ + "generic-array", +] + [[package]] name = "byteorder" version = "1.4.3" @@ -166,13 +176,12 @@ dependencies = [ ] [[package]] -name = "crypto-mac" -version = "0.11.1" +name = "crypto-common" +version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b1d1a86f49236c215f271d40892d5fc950490551400b02ef360692c29815c714" +checksum = "683d6b536309245c849479fba3da410962a43ed8e51c26b729208ec0ac2798d0" dependencies = [ "generic-array", - "subtle", ] [[package]] @@ -182,7 +191,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0b9fdf9972b2bd6af2d913799d9ebc165ea4d2e65878e329d9c6b372c4491b61" dependencies = [ "byteorder", - "digest", + "digest 0.9.0", "rand_core 0.5.1", "subtle", "zeroize", @@ -207,6 +216,18 @@ dependencies = [ "generic-array", ] +[[package]] +name = "digest" +version = "0.10.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b697d66081d42af4fba142d56918a3cb21dc8eb63372c6b85d14f44fb9c5979b" +dependencies = [ + "block-buffer 0.10.0", + "crypto-common", + "generic-array", + "subtle", +] + [[package]] name = "find-crate" version = "0.6.3" @@ -303,22 +324,20 @@ dependencies = [ [[package]] name = "hkdf" -version = "0.11.0" +version = "0.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "01706d578d5c281058480e673ae4086a9f4710d8df1ad80a5b03e39ece5f886b" +checksum = "94f41e9c77b6fc05b57497b960aad55942a9bbc5b20e1e623cf7fb1868f695d1" dependencies = [ - "digest", "hmac", ] [[package]] name = "hmac" -version = "0.11.0" +version = "0.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2a2a2320eb7ec0ebe8da8f744d7812d9fc4cb4d09344ac01898dbcb6a20ae69b" +checksum = "ddca131f3e7f2ce2df364b57949a9d47915cfbd35e46cfee355ccebbf794d6a2" dependencies = [ - "crypto-mac", - "digest", + "digest 0.10.1", ] [[package]] @@ -546,11 +565,11 @@ dependencies = [ [[package]] name = "pbkdf2" -version = "0.9.0" +version = "0.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f05894bce6a1ba4be299d0c5f29563e08af2bc18bb7d48313113bed71e904739" +checksum = "a4628cc3cf953b82edcd3c1388c5715401420ce5524fedbab426bd5aba017434" dependencies = [ - "crypto-mac", + "digest 0.10.1", ] [[package]] @@ -752,7 +771,7 @@ version = "7.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6116e7ab9ea963f60f2f20291d8fcf6c7273192cdd7273b3c80729a9605c97b2" dependencies = [ - "sha2", + "sha2 0.9.8", "walkdir", ] @@ -764,9 +783,9 @@ checksum = "08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2" [[package]] name = "salsa20" -version = "0.8.1" +version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ecbd2eb639fd7cab5804a0837fe373cc2172d15437e804c054a9fb885cb923b0" +checksum = "0c0fbb5f676da676c260ba276a8f43a8dc67cf02d1438423aeb1c677a7212686" dependencies = [ "cipher", ] @@ -788,14 +807,14 @@ checksum = "d29ab0c6d3fc0ee92fe66e2d99f700eab17a8d57d1c1d3b748380fb20baa78cd" [[package]] name = "scrypt" -version = "0.8.0" +version = "0.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9f2cc535b6997b0c755bf9344e71ca0e1be070d07ff792f1fcd31e7b90e07d5f" +checksum = "e73d6d7c6311ebdbd9184ad6c4447b2f36337e327bda107d3ba9e3c374f9d325" dependencies = [ "hmac", "pbkdf2", "salsa20", - "sha2", + "sha2 0.10.0", ] [[package]] @@ -833,13 +852,24 @@ version = "0.9.8" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b69f9a4c9740d74c5baa3fd2e547f9525fa8088a8a958e0ca2409a514e33f5fa" dependencies = [ - "block-buffer", + "block-buffer 0.9.0", "cfg-if", "cpufeatures", - "digest", + "digest 0.9.0", "opaque-debug", ] +[[package]] +name = "sha2" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "900d964dd36bb15bcf2f2b35694c072feab74969a54f2bbeec7a2d725d2bdcb6" +dependencies = [ + "cfg-if", + "cpufeatures", + "digest 0.10.1", +] + [[package]] name = "smallvec" version = "1.7.0"