Skip to content

Commit 349427a

Browse files
authored
Zeroize HKDF key on drop (#22)
1 parent b82e85a commit 349427a

File tree

2 files changed

+8
-0
lines changed

2 files changed

+8
-0
lines changed

Cargo.toml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ openssl-sys = "0.9.104"
1616
rustls = { version = "0.23.0", default-features = false }
1717
rustls-webpki = { version = "0.102.2", default-features = false }
1818
once_cell = "1.8.0"
19+
zeroize = "1.8.1"
1920

2021
[features]
2122
default = ["tls12"]

src/hkdf.rs

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ use rustls::crypto::hmac::{Hmac as _, Tag};
88
use rustls::crypto::tls13::{
99
Hkdf as RustlsHkdf, HkdfExpander as RustlsHkdfExpander, OkmBlock, OutputLengthError,
1010
};
11+
use zeroize::Zeroize;
1112

1213
const MAX_MD_SIZE: usize = openssl_sys::EVP_MAX_MD_SIZE as usize;
1314

@@ -124,6 +125,12 @@ fn add_hkdf_info<T>(ctx: &mut PkeyCtxRef<T>, info: &[&[u8]]) -> Result<(), Error
124125
Ok(())
125126
}
126127

128+
impl Drop for HkdfExpander {
129+
fn drop(&mut self) {
130+
self.private_key.zeroize();
131+
}
132+
}
133+
127134
#[cfg(test)]
128135
mod test {
129136
use rustls::crypto::tls13::Hkdf;

0 commit comments

Comments
 (0)