Skip to content

Commit bec328a

Browse files
Update dependencies and refactor random number generation to use getrandom crate
1 parent aac5950 commit bec328a

5 files changed

Lines changed: 14 additions & 24 deletions

File tree

Cargo.lock

Lines changed: 6 additions & 14 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 & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -57,6 +57,7 @@ webpki = { package = "rustls-webpki", version = "0.103.6", default-features = fa
5757
enum_dispatch = "0.3.13"
5858
tinyvec = { version = "1.10.0", default-features = false, optional = true }
5959
thiserror = { version = "2.0.17", default-features = false }
60+
getrandom = "0.3.4"
6061

6162
[dev-dependencies]
6263
bytes = { version = "1.10.1", default-features = false }

src/kx/x448.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,8 @@ impl crypto::SupportedKxGroup for X448 {
1515

1616
fn start(&self) -> Result<Box<dyn ActiveKeyExchange>, rustls::Error> {
1717
let mut priv_key = [0u8; 56];
18-
rand_core::OsRng
19-
.try_fill_bytes(&mut priv_key)
18+
19+
getrandom::fill(&mut priv_key)
2020
.map_err(|_| rustls::Error::FailedToGetRandomBytes)?;
2121
let priv_key: x448::Secret = priv_key.into();
2222
let pub_key = x448::PublicKey::from(&priv_key);

src/ticketer.rs

Lines changed: 3 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -52,16 +52,12 @@ struct AeadTicketProducer {
5252
impl AeadTicketProducer {
5353
fn new() -> Result<Self, GetRandomFailed> {
5454
let mut key_bytes = [0u8; 32];
55-
OsRng
56-
.try_fill_bytes(&mut key_bytes)
57-
.map_err(|_| GetRandomFailed)?;
55+
getrandom::fill(&mut key_bytes).map_err(|_| GetRandomFailed)?;
5856

5957
let key = ChaCha20Poly1305::new_from_slice(&key_bytes).map_err(|_| GetRandomFailed)?;
6058

6159
let mut key_name = [0u8; 16];
62-
OsRng
63-
.try_fill_bytes(&mut key_name)
64-
.map_err(|_| GetRandomFailed)?;
60+
getrandom::fill(&mut key_name).map_err(|_| GetRandomFailed)?;
6561

6662
Ok(Self {
6763
key,
@@ -86,7 +82,7 @@ impl ProducesTickets for AeadTicketProducer {
8682
fn encrypt(&self, message: &[u8]) -> Option<Vec<u8>> {
8783
// Random nonce, because a counter is a privacy leak.
8884
let mut nonce_buf = [0u8; 12];
89-
OsRng.try_fill_bytes(&mut nonce_buf).ok()?;
85+
getrandom::fill(&mut nonce_buf).ok()?;
9086
let nonce = nonce_buf.into();
9187

9288
// ciphertext structure is:

tests/builder.rs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -80,7 +80,8 @@ fn test_basic_round_trip() {
8080
let (socket_c2s, socket_s2c) = MemorySocket::new_pair();
8181

8282
let mut random_data: [u8; 64 * 1024] = [0; 64 * 1024];
83-
OsRng.try_fill_bytes(&mut random_data).unwrap();
83+
84+
getrandom::fill(&mut random_data).unwrap();
8485

8586
std::thread::Builder::new()
8687
.name(format!("{base_name}-server"))

0 commit comments

Comments
 (0)