mirror of
https://github.com/sigp/lighthouse.git
synced 2026-07-03 21:04:28 +00:00
Update Rust Edition to 2024 (#7766)
* #7749 Thanks @dknopik and @michaelsproul for your help!
This commit is contained in:
@@ -1,23 +1,24 @@
|
||||
//! Provides a JSON keystore for a BLS keypair, as specified by
|
||||
//! [EIP-2335](https://eips.ethereum.org/EIPS/eip-2335).
|
||||
|
||||
use crate::Uuid;
|
||||
use crate::derived_key::DerivedKey;
|
||||
use crate::json_keystore::{
|
||||
Aes128Ctr, ChecksumModule, Cipher, CipherModule, Crypto, EmptyMap, EmptyString, JsonKeystore,
|
||||
Kdf, KdfModule, Scrypt, Sha256Checksum, Version,
|
||||
};
|
||||
use crate::Uuid;
|
||||
use aes::Aes128Ctr as AesCtr;
|
||||
use aes::cipher::generic_array::GenericArray;
|
||||
use aes::cipher::{NewCipher, StreamCipher};
|
||||
use aes::Aes128Ctr as AesCtr;
|
||||
use bls::{Keypair, PublicKey, SecretKey, ZeroizeHash};
|
||||
use eth2_key_derivation::PlainText;
|
||||
use hmac::Hmac;
|
||||
use pbkdf2::pbkdf2;
|
||||
use rand::prelude::*;
|
||||
use scrypt::{
|
||||
Params as ScryptParams,
|
||||
errors::{InvalidOutputLen, InvalidParams},
|
||||
scrypt, Params as ScryptParams,
|
||||
scrypt,
|
||||
};
|
||||
use serde::{Deserialize, Serialize};
|
||||
use sha2::{Digest, Sha256};
|
||||
@@ -103,8 +104,8 @@ impl<'a> KeystoreBuilder<'a> {
|
||||
if password.is_empty() {
|
||||
Err(Error::EmptyPassword)
|
||||
} else {
|
||||
let salt = rand::thread_rng().gen::<[u8; SALT_SIZE]>();
|
||||
let iv = rand::thread_rng().gen::<[u8; IV_SIZE]>().to_vec().into();
|
||||
let salt = rand::rng().random::<[u8; SALT_SIZE]>();
|
||||
let iv = rand::rng().random::<[u8; IV_SIZE]>().to_vec().into();
|
||||
|
||||
Ok(Self {
|
||||
keypair,
|
||||
@@ -574,7 +575,10 @@ fn validate_parameters(kdf: &Kdf) -> Result<(), Error> {
|
||||
let default_kdf = Scrypt::default_scrypt(vec![0u8; 32]);
|
||||
let default_npr = 128 * default_kdf.n * default_kdf.p * default_kdf.r;
|
||||
if npr < default_npr {
|
||||
eprintln!("WARN: Scrypt parameters are too weak (n: {}, p: {}, r: {}), we recommend (n: {}, p: {}, r: {})", params.n, params.p, params.r, default_kdf.n, default_kdf.p, default_kdf.r);
|
||||
eprintln!(
|
||||
"WARN: Scrypt parameters are too weak (n: {}, p: {}, r: {}), we recommend (n: {}, p: {}, r: {})",
|
||||
params.n, params.p, params.r, default_kdf.n, default_kdf.p, default_kdf.r
|
||||
);
|
||||
}
|
||||
|
||||
// Validate `salt` length.
|
||||
|
||||
@@ -9,7 +9,7 @@ pub mod json_keystore;
|
||||
pub use bls::ZeroizeHash;
|
||||
pub use eth2_key_derivation::PlainText;
|
||||
pub use keystore::{
|
||||
decrypt, default_kdf, encrypt, keypair_from_secret, Error, Keystore, KeystoreBuilder, DKLEN,
|
||||
HASH_SIZE, IV_SIZE, SALT_SIZE,
|
||||
DKLEN, Error, HASH_SIZE, IV_SIZE, Keystore, KeystoreBuilder, SALT_SIZE, decrypt, default_kdf,
|
||||
encrypt, keypair_from_secret,
|
||||
};
|
||||
pub use uuid::Uuid;
|
||||
|
||||
@@ -3,9 +3,8 @@
|
||||
|
||||
use bls::Keypair;
|
||||
use eth2_keystore::{
|
||||
default_kdf,
|
||||
DKLEN, Error, Keystore, KeystoreBuilder, default_kdf,
|
||||
json_keystore::{Kdf, Pbkdf2, Prf, Scrypt},
|
||||
Error, Keystore, KeystoreBuilder, DKLEN,
|
||||
};
|
||||
use std::fs::File;
|
||||
use tempfile::tempdir;
|
||||
|
||||
Reference in New Issue
Block a user