Add support for AES128-GCM using HKDF-SHA256 to derive keys

This commit is contained in:
Rodolphe Bréard 2024-03-24 12:16:54 +01:00
parent 56db45cbad
commit ca86747862
7 changed files with 202 additions and 10 deletions

View file

@ -427,7 +427,7 @@ mod encryption {
use super::*;
#[test]
fn get_latest_ikm() {
fn get_latest_ikm_xchacha20poly1305_blake3() {
let mut lst = InputKeyMaterialList::new();
let _ = lst.add_ikm();
let _ = lst.add_ikm();
@ -443,6 +443,23 @@ mod encryption {
assert_eq!(latest_ikm.content.len(), 32);
}
#[test]
fn get_latest_ikm_aes128gcm_sha256() {
let mut lst = InputKeyMaterialList::new();
let _ = lst.add_ikm();
let _ = lst.add_ikm();
let _ = lst.add_custom_ikm(
Scheme::Aes128GcmWithSha256,
Duration::from_secs(crate::DEFAULT_IKM_DURATION),
);
let res = lst.get_latest_ikm();
assert!(res.is_ok(), "res: {res:?}");
let latest_ikm = res.unwrap();
assert_eq!(latest_ikm.id, 3);
assert_eq!(latest_ikm.scheme, Scheme::Aes128GcmWithSha256);
assert_eq!(latest_ikm.content.len(), 32);
}
#[test]
fn get_latest_ikm_empty() {
let lst = InputKeyMaterialList::new();