diff options
author | Justus Winter <justus@sequoia-pgp.org> | 2019-07-02 18:43:17 +0200 |
---|---|---|
committer | Justus Winter <justus@sequoia-pgp.org> | 2019-07-02 19:02:15 +0200 |
commit | 92371c26e33119d2ea162d9a8bfdabe45f9400ec (patch) | |
tree | 76d6b985f72745a1034603efc177084ae6bbfd77 | |
parent | 679b3631aa40663bd23778fc4776c3da8ba3cef0 (diff) |
openpgp: Simplify SessionKey::new.
-rw-r--r-- | openpgp-ffi/src/crypto.rs | 3 | ||||
-rw-r--r-- | openpgp/src/crypto/mod.rs | 4 | ||||
-rw-r--r-- | openpgp/src/message/mod.rs | 2 | ||||
-rw-r--r-- | openpgp/src/packet/key.rs | 3 | ||||
-rw-r--r-- | openpgp/src/packet/pkesk.rs | 5 | ||||
-rw-r--r-- | openpgp/src/serialize/stream.rs | 2 |
6 files changed, 8 insertions, 11 deletions
diff --git a/openpgp-ffi/src/crypto.rs b/openpgp-ffi/src/crypto.rs index 94e1a81d..19f53859 100644 --- a/openpgp-ffi/src/crypto.rs +++ b/openpgp-ffi/src/crypto.rs @@ -5,7 +5,6 @@ //! [`sequoia-openpgp::crypto`]: ../../sequoia_openpgp/crypto/index.html use libc::size_t; -use nettle::Yarrow; extern crate sequoia_openpgp as openpgp; use self::openpgp::{ @@ -26,7 +25,7 @@ pub struct SessionKey(openpgp::crypto::SessionKey); /// Creates a new session key. #[::sequoia_ffi_macros::extern_fn] #[no_mangle] pub extern "C" fn pgp_session_key_new(size: size_t) -> *mut SessionKey { - openpgp::crypto::SessionKey::new(&mut Yarrow::default(), size) + openpgp::crypto::SessionKey::new(size) .move_into_raw() } diff --git a/openpgp/src/crypto/mod.rs b/openpgp/src/crypto/mod.rs index 36d6e921..5a6b06c0 100644 --- a/openpgp/src/crypto/mod.rs +++ b/openpgp/src/crypto/mod.rs @@ -35,9 +35,9 @@ pub struct SessionKey(mem::Protected); impl SessionKey { /// Creates a new session key. - pub fn new(rng: &mut Yarrow, size: usize) -> Self { + pub fn new(size: usize) -> Self { let mut sk: mem::Protected = vec![0; size].into(); - rng.random(&mut sk); + Yarrow::default().random(&mut sk); Self(sk) } diff --git a/openpgp/src/message/mod.rs b/openpgp/src/message/mod.rs index e422a7aa..abe3f094 100644 --- a/openpgp/src/message/mod.rs +++ b/openpgp/src/message/mod.rs @@ -962,7 +962,7 @@ mod tests { // 0: SK-ESK // => bad. let mut packets : Vec<Packet> = Vec::new(); - let sk = ::crypto::SessionKey::new(&mut Default::default(), 8); + let sk = ::crypto::SessionKey::new(8); packets.push(SKESK4::with_password( SymmetricAlgorithm::AES256, S2K::Simple { hash: HashAlgorithm::SHA256 }, diff --git a/openpgp/src/packet/key.rs b/openpgp/src/packet/key.rs index 79c27794..e181bacc 100644 --- a/openpgp/src/packet/key.rs +++ b/openpgp/src/packet/key.rs @@ -853,8 +853,7 @@ mod tests { let key = Key::from(key); let mut keypair = key.clone().into_keypair().unwrap(); let cipher = SymmetricAlgorithm::AES256; - let sk = SessionKey::new(&mut Default::default(), - cipher.key_size().unwrap()); + let sk = SessionKey::new(cipher.key_size().unwrap()); let pkesk = PKESK3::for_recipient(cipher, &sk, &key).unwrap(); let (cipher_, sk_) = pkesk.decrypt(&mut keypair).unwrap(); diff --git a/openpgp/src/packet/pkesk.rs b/openpgp/src/packet/pkesk.rs index 735908a4..bf36e35c 100644 --- a/openpgp/src/packet/pkesk.rs +++ b/openpgp/src/packet/pkesk.rs @@ -334,7 +334,7 @@ mod tests { use constants::Curve; use packet::Key; use packet::key::Key4; - use nettle::{curve25519, Yarrow}; + use nettle::curve25519; use time; // 20 byte sec key @@ -362,8 +362,7 @@ mod tests { public_mpis, None) .unwrap().into(); key.set_secret(Some(private_mpis.into())); - let mut rng = Yarrow::default(); - let sess_key = SessionKey::new(&mut rng, 32); + let sess_key = SessionKey::new(32); let pkesk = PKESK3::for_recipient(SymmetricAlgorithm::AES256, &sess_key, &key).unwrap(); let mut keypair = key.into_keypair().unwrap(); diff --git a/openpgp/src/serialize/stream.rs b/openpgp/src/serialize/stream.rs index 7c2a3e8e..483fc1c2 100644 --- a/openpgp/src/serialize/stream.rs +++ b/openpgp/src/serialize/stream.rs @@ -952,7 +952,7 @@ impl<'a> Encryptor<'a> { let algo = cipher_algo.into().unwrap_or(SymmetricAlgorithm::AES256); // Generate a session key. - let sk = SessionKey::new(&mut rng, algo.key_size()?); + let sk = SessionKey::new(algo.key_size()?); // Write the PKESK packet(s). for tpk in tpks { |