rust/crypto: Add key_type method to SymKey impl

This function is easier to be used than a match! statement.
Reviewed-by: Steffen Eiden <seiden@linux.ibm.com>
Signed-off-by: Marc Hartmayer <mhartmay@linux.ibm.com>
Signed-off-by: Steffen Eiden <seiden@linux.ibm.com>
This commit is contained in:
Marc Hartmayer
2024-10-14 18:26:41 +00:00
committed by Steffen Eiden
parent 567cbce8a8
commit 050441922b

View File

@@ -82,6 +82,14 @@ impl SymKey {
Self::Aes256Xts(key) => key.value(),
}
}
/// Return the key type of this [`SymKey`].
pub fn key_type(&self) -> SymKeyType {
match self {
Self::Aes256(_) => SymKeyType::Aes256,
Self::Aes256Xts(_) => SymKeyType::Aes256Xts,
}
}
}
impl From<Aes256Key> for SymKey {
@@ -512,4 +520,16 @@ mod tests {
Nid::AES_256_XTS
);
}
#[test]
fn key_type() {
assert_eq!(
SymKey::random(SymKeyType::Aes256).unwrap().key_type(),
SymKeyType::Aes256
);
assert_eq!(
SymKey::random(SymKeyType::Aes256Xts).unwrap().key_type(),
SymKeyType::Aes256Xts
);
}
}