Erase crypto::HandshakeTokenKey::AeadKey

This commit is contained in:
Benjamin Saunders
2021-10-10 14:47:50 -07:00
parent 2575356c88
commit 0e415dd296
3 changed files with 4 additions and 9 deletions
+1 -4
View File
@@ -198,11 +198,8 @@ pub struct ExportKeyingMaterialError;
/// A pseudo random key for HKDF
pub trait HandshakeTokenKey: Send + Sync {
/// AEAD key type
type AeadKey: AeadKey;
/// Derive AEAD using hkdf
fn aead_from_hkdf(&self, random_bytes: &[u8]) -> Self::AeadKey;
fn aead_from_hkdf(&self, random_bytes: &[u8]) -> Box<dyn AeadKey>;
/// Method to build pseudo random key from existing bytes
fn from_secret(secret: &[u8]) -> Self;
}
+2 -4
View File
@@ -17,9 +17,7 @@ impl crypto::HmacKey for hmac::Key {
}
impl crypto::HandshakeTokenKey for hkdf::Prk {
type AeadKey = ring::aead::LessSafeKey;
fn aead_from_hkdf(&self, random_bytes: &[u8]) -> Self::AeadKey {
fn aead_from_hkdf(&self, random_bytes: &[u8]) -> Box<dyn crypto::AeadKey> {
let mut key_buffer = [0u8; 32];
let info = [random_bytes];
let okm = self.expand(&info, hkdf::HKDF_SHA256).unwrap();
@@ -27,7 +25,7 @@ impl crypto::HandshakeTokenKey for hkdf::Prk {
okm.fill(&mut key_buffer).unwrap();
let key = aead::UnboundKey::new(&aead::AES_256_GCM, &key_buffer).unwrap();
Self::AeadKey::new(key)
Box::new(aead::LessSafeKey::new(key))
}
fn from_secret(bytes: &[u8]) -> Self {
+1 -1
View File
@@ -8,7 +8,7 @@ use bytes::BufMut;
use crate::{
coding::{BufExt, BufMutExt},
crypto::{AeadKey, CryptoError, HandshakeTokenKey, HmacKey},
crypto::{CryptoError, HandshakeTokenKey, HmacKey},
shared::ConnectionId,
RESET_TOKEN_SIZE,
};