#![cfg(debug_assertions)]
use crate::fips::{assert_fips_status_indicator, FipsServiceStatus};
use crate::rsa::{KeyPair, KeySize};
macro_rules! generate_key {
($name:ident, KeyPair, $size:expr) => {
#[test]
fn $name() {
#[cfg(not(feature = "fips"))]
let _ =
assert_fips_status_indicator!(KeyPair::generate($size), FipsServiceStatus::Unset)
.expect("key generated");
#[cfg(feature = "fips")]
let _ = assert_fips_status_indicator!(
KeyPair::generate($size),
FipsServiceStatus::Approved
)
.expect("key generated");
}
};
($name:ident, KeyPair, $size:expr, false) => {
#[test]
fn $name() {
let _ =
assert_fips_status_indicator!(KeyPair::generate($size), FipsServiceStatus::Unset);
let _ = assert_fips_status_indicator!(
KeyPair::generate_fips($size),
FipsServiceStatus::NonApproved
)
.expect_err("key size not allowed");
}
};
}
generate_key!(rsa2048_signing_generate_key, KeyPair, KeySize::Rsa2048);
#[cfg(not(disable_slow_tests))]
generate_key!(rsa3072_signing_generate_key, KeyPair, KeySize::Rsa3072);
#[cfg(not(disable_slow_tests))]
generate_key!(rsa4096_signing_generate_key, KeyPair, KeySize::Rsa4096);
#[cfg(not(disable_slow_tests))]
generate_key!(rsa8192_signing_generate_key, KeyPair, KeySize::Rsa8192);