Skip to content

Commit d5f61ba

Browse files
Added value-len attribute when extracting key from key
Signed-off-by: Jacob Prud'homme <[email protected]>
1 parent 0cf4ddd commit d5f61ba

File tree

1 file changed

+7
-1
lines changed

1 file changed

+7
-1
lines changed

cryptoki/tests/basic.rs

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -993,6 +993,7 @@ fn derive_key_extract_from_key() -> TestResult {
993993
let derived_key_template = [
994994
Attribute::Token(true),
995995
Attribute::Private(false),
996+
Attribute::ValueLen(2.into()),
996997
Attribute::Sensitive(false),
997998
Attribute::Extractable(true),
998999
];
@@ -1012,7 +1013,12 @@ fn derive_key_extract_from_key() -> TestResult {
10121013
panic!("Expected value attribute.");
10131014
};
10141015

1015-
assert_eq!(&derived_key_value, &data_value[3..]);
1016+
// Manually extract exactly the same part of the original value, to compare
1017+
let mut result_value = u32::from_be_bytes(data_value[..4].try_into().unwrap());
1018+
result_value <<= 3;
1019+
result_value &= 0xFFFF0000;
1020+
1021+
assert_eq!(&derived_key_value, &result_value.to_be_bytes()[..2]);
10161022

10171023
// Delete keys
10181024
session.destroy_object(key)?;

0 commit comments

Comments
 (0)