Add support for AES128-GCM using HKDF-SHA256 to derive keys
This commit is contained in:
parent
56db45cbad
commit
ca86747862
7 changed files with 202 additions and 10 deletions
19
src/ikm.rs
19
src/ikm.rs
|
@ -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();
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue