Rename created_at and expire_at as not_before and not_after

This commit is contained in:
Rodolphe Bréard 2024-04-07 11:12:23 +02:00
parent 3690351c13
commit d47f68944a
2 changed files with 52 additions and 52 deletions

View file

@ -21,8 +21,8 @@ pub struct InputKeyMaterial {
pub id: IkmId,
pub scheme: Scheme,
pub(crate) content: Vec<u8>,
pub created_at: SystemTime,
pub expire_at: SystemTime,
pub not_before: SystemTime,
pub not_after: SystemTime,
pub is_revoked: bool,
}
@ -35,14 +35,14 @@ impl InputKeyMaterial {
res.extend_from_slice(&self.content);
res.extend_from_slice(
&self
.created_at
.not_before
.duration_since(SystemTime::UNIX_EPOCH)?
.as_secs()
.to_le_bytes(),
);
res.extend_from_slice(
&self
.expire_at
.not_after
.duration_since(SystemTime::UNIX_EPOCH)?
.as_secs()
.to_le_bytes(),
@ -65,8 +65,8 @@ impl InputKeyMaterial {
id: IkmId::from_le_bytes(b[0..4].try_into().unwrap()),
scheme,
content: b[8..8 + is].into(),
created_at: InputKeyMaterial::bytes_to_system_time(&b[8 + is..8 + is + 8])?,
expire_at: InputKeyMaterial::bytes_to_system_time(&b[8 + is + 8..8 + is + 8 + 8])?,
not_before: InputKeyMaterial::bytes_to_system_time(&b[8 + is..8 + is + 8])?,
not_after: InputKeyMaterial::bytes_to_system_time(&b[8 + is + 8..8 + is + 8 + 8])?,
is_revoked: b[8 + is + 8 + 8] != 0,
})
}
@ -168,13 +168,13 @@ impl InputKeyMaterialList {
let ikm_len = scheme.get_ikm_size();
let mut content: Vec<u8> = vec![0; ikm_len];
getrandom::getrandom(content.as_mut_slice())?;
let created_at = SystemTime::now();
let not_before = SystemTime::now();
self.id_counter += 1;
self.ikm_lst.push(InputKeyMaterial {
id: self.id_counter,
scheme,
created_at,
expire_at: created_at + duration,
not_before,
not_after: not_before + duration,
is_revoked: false,
content,
});
@ -212,7 +212,7 @@ impl InputKeyMaterialList {
self.ikm_lst
.iter()
.rev()
.find(|&ikm| !ikm.is_revoked && ikm.created_at < now && ikm.expire_at > now)
.find(|&ikm| !ikm.is_revoked && ikm.not_before < now && ikm.not_after > now)
.ok_or(Error::IkmNoneAvailable)
}
@ -297,23 +297,23 @@ mod ikm_management {
use super::*;
// This list contains the folowing IKM:
// 1: * created_at: Monday 1 April 2019 10:21:42
// * expire_at: Wednesday 1 April 2020 10:21:42
// 1: * not_before: Monday 1 April 2019 10:21:42
// * not_after: Wednesday 1 April 2020 10:21:42
// * is_revoked: true
// 2: * created_at: Thursday 12 March 2020 10:21:42
// * expire_at: Friday 12 March 2021 10:21:42
// 2: * not_before: Thursday 12 March 2020 10:21:42
// * not_after: Friday 12 March 2021 10:21:42
// * is_revoked: false
// 3: * created_at: Sunday 21 February 2021 10:21:42
// * expire_at: Thursday 10 February 2180 10:21:42
// 3: * not_before: Sunday 21 February 2021 10:21:42
// * not_after: Thursday 10 February 2180 10:21:42
// * is_revoked: false
// 4: * created_at: Sunday 30 January 2022 10:21:42
// * expire_at: Tuesday 10 January 2023 10:21:42
// 4: * not_before: Sunday 30 January 2022 10:21:42
// * not_after: Tuesday 10 January 2023 10:21:42
// * is_revoked: false
// 5: * created_at: Tuesday 2 January 2024 10:21:42
// * expire_at: Tuesday 6 June 2180 10:21:42
// 5: * not_before: Tuesday 2 January 2024 10:21:42
// * not_after: Tuesday 6 June 2180 10:21:42
// * is_revoked: true
// 6: * created_at: Tuesday 15 August 2180 10:21:42
// * expire_at: Wednesday 15 August 2181 10:21:42
// 6: * not_before: Tuesday 15 August 2180 10:21:42
// * not_after: Wednesday 15 August 2181 10:21:42
// * is_revoked: false
const TEST_STR: &str = "BgAAAA:AQAAAAEAAACUAPcqngJ46_HMtJSdIw-WeUtImcCVxOA47n6UIN5K2TbmoVwAAAAANmuEXgAAAAAB:AgAAAAEAAADf7CR8vl_aWOUyfsO0ek0YQr_Yi7L_sJmF2nIt_XOaCzYNal4AAAAAtkBLYAAAAAAA:AwAAAAEAAAAMoNIW9gIGkzegUDEsU3N1Rf_Zz0OMuylUSiQjUzLXqzY0MmAAAAAANsk0iwEAAAAA:BAAAAAEAAABbwRrMz3x3DkfOEFg1BHfLLRHoNqg6d_xGWwdh48hH8rZm9mEAAAAANjy9YwAAAAAA:BQAAAAEAAAA2LwnTgDUF7qn7dy79VA24JSSgo6vllAtU5zmhrxNJu7YIz4sBAAAANoUMjgEAAAAB:BgAAAAEAAAAn0Vqe2f9YRXBt6xVYaeSLs0Gf0S0_5B-hk-a2b0rhlraCJbwAAAAAtlErjAEAAAAA";
@ -426,8 +426,8 @@ mod ikm_management {
let el_bis = &lst_bis.ikm_lst[i];
assert_eq!(el_bis.id, el.id);
assert_eq!(el_bis.content, el.content);
assert_eq!(el_bis.created_at, round_time(el.created_at));
assert_eq!(el_bis.expire_at, round_time(el.expire_at));
assert_eq!(el_bis.not_before, round_time(el.not_before));
assert_eq!(el_bis.not_after, round_time(el.not_after));
assert_eq!(el_bis.is_revoked, el.is_revoked);
}
}

View file

@ -172,30 +172,30 @@ mod ikm_lst {
let mut lst = crate::InputKeyMaterialList::new();
let _ = lst.add_ikm();
lst.ikm_lst[0].content = TEST_CTN_0.to_vec();
lst.ikm_lst[0].created_at = bytes_to_system_time(1554114102);
lst.ikm_lst[0].expire_at = bytes_to_system_time(1585736502);
lst.ikm_lst[0].not_before = bytes_to_system_time(1554114102);
lst.ikm_lst[0].not_after = bytes_to_system_time(1585736502);
lst.ikm_lst[0].is_revoked = true;
let _ = lst.add_ikm();
lst.ikm_lst[1].content = TEST_CTN_1.to_vec();
lst.ikm_lst[1].created_at = bytes_to_system_time(1584008502);
lst.ikm_lst[1].expire_at = bytes_to_system_time(1615544502);
lst.ikm_lst[1].not_before = bytes_to_system_time(1584008502);
lst.ikm_lst[1].not_after = bytes_to_system_time(1615544502);
let _ = lst.add_ikm();
lst.ikm_lst[2].content = TEST_CTN_2.to_vec();
lst.ikm_lst[2].created_at = bytes_to_system_time(1613902902);
lst.ikm_lst[2].expire_at = bytes_to_system_time(6630459702);
lst.ikm_lst[2].not_before = bytes_to_system_time(1613902902);
lst.ikm_lst[2].not_after = bytes_to_system_time(6630459702);
let _ = lst.add_ikm();
lst.ikm_lst[3].content = TEST_CTN_3.to_vec();
lst.ikm_lst[3].created_at = bytes_to_system_time(1643538102);
lst.ikm_lst[3].expire_at = bytes_to_system_time(1673346102);
lst.ikm_lst[3].not_before = bytes_to_system_time(1643538102);
lst.ikm_lst[3].not_after = bytes_to_system_time(1673346102);
let _ = lst.add_ikm();
lst.ikm_lst[4].content = TEST_CTN_4.to_vec();
lst.ikm_lst[4].created_at = bytes_to_system_time(6640568502);
lst.ikm_lst[4].expire_at = bytes_to_system_time(6678152502);
lst.ikm_lst[4].not_before = bytes_to_system_time(6640568502);
lst.ikm_lst[4].not_after = bytes_to_system_time(6678152502);
lst.ikm_lst[4].is_revoked = true;
let _ = lst.add_ikm();
lst.ikm_lst[5].content = TEST_CTN_5.to_vec();
lst.ikm_lst[5].created_at = bytes_to_system_time(3156574902);
lst.ikm_lst[5].expire_at = bytes_to_system_time(6646616502);
lst.ikm_lst[5].not_before = bytes_to_system_time(3156574902);
lst.ikm_lst[5].not_after = bytes_to_system_time(6646616502);
let s = super::encode_ikm_list(&lst).unwrap();
assert_eq!(s, TEST_STR);
@ -209,33 +209,33 @@ mod ikm_lst {
assert_eq!(lst.id_counter, 6);
assert_eq!(lst.ikm_lst[0].id, 1);
assert_eq!(lst.ikm_lst[0].content, TEST_CTN_0);
assert_eq!(as_ts!(lst.ikm_lst[0].created_at), 1554114102);
assert_eq!(as_ts!(lst.ikm_lst[0].expire_at), 1585736502);
assert_eq!(as_ts!(lst.ikm_lst[0].not_before), 1554114102);
assert_eq!(as_ts!(lst.ikm_lst[0].not_after), 1585736502);
assert_eq!(lst.ikm_lst[0].is_revoked, true);
assert_eq!(lst.ikm_lst[1].id, 2);
assert_eq!(lst.ikm_lst[1].content, TEST_CTN_1);
assert_eq!(as_ts!(lst.ikm_lst[1].created_at), 1584008502);
assert_eq!(as_ts!(lst.ikm_lst[1].expire_at), 1615544502);
assert_eq!(as_ts!(lst.ikm_lst[1].not_before), 1584008502);
assert_eq!(as_ts!(lst.ikm_lst[1].not_after), 1615544502);
assert_eq!(lst.ikm_lst[1].is_revoked, false);
assert_eq!(lst.ikm_lst[2].id, 3);
assert_eq!(lst.ikm_lst[2].content, TEST_CTN_2);
assert_eq!(as_ts!(lst.ikm_lst[2].created_at), 1613902902);
assert_eq!(as_ts!(lst.ikm_lst[2].expire_at), 6630459702);
assert_eq!(as_ts!(lst.ikm_lst[2].not_before), 1613902902);
assert_eq!(as_ts!(lst.ikm_lst[2].not_after), 6630459702);
assert_eq!(lst.ikm_lst[2].is_revoked, false);
assert_eq!(lst.ikm_lst[3].id, 4);
assert_eq!(lst.ikm_lst[3].content, TEST_CTN_3);
assert_eq!(as_ts!(lst.ikm_lst[3].created_at), 1643538102);
assert_eq!(as_ts!(lst.ikm_lst[3].expire_at), 1673346102);
assert_eq!(as_ts!(lst.ikm_lst[3].not_before), 1643538102);
assert_eq!(as_ts!(lst.ikm_lst[3].not_after), 1673346102);
assert_eq!(lst.ikm_lst[3].is_revoked, false);
assert_eq!(lst.ikm_lst[4].id, 5);
assert_eq!(lst.ikm_lst[4].content, TEST_CTN_4);
assert_eq!(as_ts!(lst.ikm_lst[4].created_at), 6640568502);
assert_eq!(as_ts!(lst.ikm_lst[4].expire_at), 6678152502);
assert_eq!(as_ts!(lst.ikm_lst[4].not_before), 6640568502);
assert_eq!(as_ts!(lst.ikm_lst[4].not_after), 6678152502);
assert_eq!(lst.ikm_lst[4].is_revoked, true);
assert_eq!(lst.ikm_lst[5].id, 6);
assert_eq!(lst.ikm_lst[5].content, TEST_CTN_5);
assert_eq!(as_ts!(lst.ikm_lst[5].created_at), 3156574902);
assert_eq!(as_ts!(lst.ikm_lst[5].expire_at), 6646616502);
assert_eq!(as_ts!(lst.ikm_lst[5].not_before), 3156574902);
assert_eq!(as_ts!(lst.ikm_lst[5].not_after), 6646616502);
assert_eq!(lst.ikm_lst[5].is_revoked, false);
}
@ -262,12 +262,12 @@ mod ikm_lst {
assert_eq!(lst.ikm_lst[i].scheme, lst2.ikm_lst[i].scheme);
assert_eq!(lst.ikm_lst[i].content, lst2.ikm_lst[i].content);
assert_eq!(
as_ts!(lst.ikm_lst[i].created_at),
as_ts!(lst2.ikm_lst[i].created_at)
as_ts!(lst.ikm_lst[i].not_before),
as_ts!(lst2.ikm_lst[i].not_before)
);
assert_eq!(
as_ts!(lst.ikm_lst[i].expire_at),
as_ts!(lst2.ikm_lst[i].expire_at)
as_ts!(lst.ikm_lst[i].not_after),
as_ts!(lst2.ikm_lst[i].not_after)
);
assert_eq!(lst.ikm_lst[i].is_revoked, lst2.ikm_lst[i].is_revoked);
}