Skip to content

Commit 0b5374a

Browse files
committed
Change to use getrandom directly
1 parent 53777e4 commit 0b5374a

6 files changed

Lines changed: 78 additions & 30 deletions

File tree

Cargo.lock

Lines changed: 0 additions & 11 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ p384 = { version = "=0.14.0-rc.4", default-features = false, features = ["pem",
3232
paste = { version = "1", default-features = false }
3333
pkcs8 = { version = "=0.11.0-rc.8", default-features = false }
3434
pki-types = { package = "rustls-pki-types", version = "1", default-features = false }
35-
rand = { version = "=0.10.0-rc.6", default-features = false, features = ["sys_rng"] }
35+
getrandom = { version = "=0.4.0-rc.0", default-features = false, features = ["sys_rng"] }
3636
rsa = { version = "=0.10.0-rc.12", default-features = false, features = ["sha2", "encoding"] }
3737
rustls = { version = "0.23", default-features = false }
3838
sha2 = { version = "=0.11.0-rc.3", default-features = false }

src/kx.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,8 @@ use alloc::boxed::Box;
33

44
use crypto::{SharedSecret, SupportedKxGroup};
55
use crypto_common::Generate;
6+
use getrandom::rand_core::TryRngCore;
67
use paste::paste;
7-
use rand::TryRngCore;
88
use rustls::crypto;
99

1010
#[derive(Debug)]
@@ -16,7 +16,7 @@ impl crypto::SupportedKxGroup for X25519 {
1616
}
1717

1818
fn start(&self) -> Result<Box<dyn crypto::ActiveKeyExchange>, rustls::Error> {
19-
let mut rng = rand::rngs::SysRng.unwrap_err();
19+
let mut rng = getrandom::SysRng.unwrap_err();
2020
let priv_key = x25519_dalek::EphemeralSecret::random_from_rng(&mut rng);
2121
let pub_key = (&priv_key).into();
2222
Ok(Box::new(X25519KeyExchange { priv_key, pub_key }))
@@ -63,7 +63,7 @@ macro_rules! impl_kx {
6363
}
6464

6565
fn start(&self) -> Result<Box<dyn crypto::ActiveKeyExchange>, rustls::Error> {
66-
let mut rng = rand::rngs::SysRng.unwrap_err();
66+
let mut rng = getrandom::SysRng.unwrap_err();
6767
let priv_key = <$secret>::try_generate_from_rng(&mut rng).map_err(|_| rustls::Error::from(rustls::PeerMisbehaved::InvalidKeyShare))?;
6868
let pub_key: $public_key = (&priv_key).into();
6969
Ok(Box::new([<$name KeyExchange>] {

src/lib.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -64,8 +64,8 @@ pub fn provider() -> CryptoProvider {
6464

6565
impl SecureRandom for Provider {
6666
fn fill(&self, bytes: &mut [u8]) -> Result<(), GetRandomFailed> {
67-
use rand::TryRngCore;
68-
let mut rng = rand::rngs::SysRng.unwrap_err();
67+
use getrandom::rand_core::TryRngCore;
68+
let mut rng = getrandom::SysRng.unwrap_err();
6969
rng.try_fill_bytes(bytes).map_err(|_| GetRandomFailed)
7070
}
7171
}

src/sign.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,8 @@ use self::ecdsa::{EcdsaSigningKeyP256, EcdsaSigningKeyP384};
66
use self::eddsa::Ed25519SigningKey;
77
use self::rsa::RsaSigningKey;
88

9+
use getrandom::rand_core::TryRngCore;
910
use pki_types::PrivateKeyDer;
10-
use rand::TryRngCore;
1111
use rustls::sign::{Signer, SigningKey};
1212
use rustls::{Error, SignatureScheme};
1313
use signature::{RandomizedSigner, SignatureEncoding};
@@ -29,7 +29,7 @@ where
2929
T: RandomizedSigner<S> + Send + Sync + core::fmt::Debug,
3030
{
3131
fn sign(&self, message: &[u8]) -> Result<Vec<u8>, Error> {
32-
let mut rng = rand::rngs::SysRng.unwrap_err();
32+
let mut rng = getrandom::SysRng.unwrap_err();
3333
self.key
3434
.try_sign_with_rng(&mut rng, message)
3535
.map_err(|_| rustls::Error::General("signing failed".into()))

validation/local_ping_pong_openssl/Cargo.lock

Lines changed: 70 additions & 11 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)