5 #ifndef CRYPTOPP_IMPORTS
14 #ifndef CRYPTOPP_ENABLE_COMPLIANCE_WITH_FIPS_140_2
15 #define CRYPTOPP_ENABLE_COMPLIANCE_WITH_FIPS_140_2 0
18 #if (CRYPTOPP_ENABLE_COMPLIANCE_WITH_FIPS_140_2 && !defined(OS_RNG_AVAILABLE))
19 #error FIPS 140-2 compliance requires the availability of OS provided RNG.
26 return CRYPTOPP_ENABLE_COMPLIANCE_WITH_FIPS_140_2;
36 return g_powerUpSelfTestStatus;
39 #if CRYPTOPP_ENABLE_COMPLIANCE_WITH_FIPS_140_2
43 static bool s_inProgress =
false;
46 bool PowerUpSelfTestInProgressOnThisThread()
48 #if CRYPTOPP_ENABLE_COMPLIANCE_WITH_FIPS_140_2
55 void SetPowerUpSelfTestInProgressOnThisThread(
bool inProgress)
57 #if CRYPTOPP_ENABLE_COMPLIANCE_WITH_FIPS_140_2
58 s_inProgress = inProgress;
60 CRYPTOPP_UNUSED(inProgress);
66 #if CRYPTOPP_ENABLE_COMPLIANCE_WITH_FIPS_140_2
67 EncryptionPairwiseConsistencyTest(encryptor, decryptor);
69 CRYPTOPP_UNUSED(encryptor), CRYPTOPP_UNUSED(decryptor);
73 void SignaturePairwiseConsistencyTest_FIPS_140_Only(
const PK_Signer &signer,
const PK_Verifier &verifier)
75 #if CRYPTOPP_ENABLE_COMPLIANCE_WITH_FIPS_140_2
76 SignaturePairwiseConsistencyTest(signer, verifier);
78 CRYPTOPP_UNUSED(signer), CRYPTOPP_UNUSED(verifier);
Interface for public-key decryptors.
Interface for public-key encryptors.
Interface for public-key signers.
Interface for public-key signature verifiers.
#define CRYPTOPP_API
Win32 calling convention.
Classes and functions for the FIPS 140-2 validated library.
CRYPTOPP_DLL bool FIPS_140_2_ComplianceEnabled()
Determines whether the library provides FIPS validated cryptography.
CRYPTOPP_DLL PowerUpSelfTestStatus GetPowerUpSelfTestStatus()
Provides the current power-up self test status.
PowerUpSelfTestStatus
Status of the power-up self test.
@ POWER_UP_SELF_TEST_NOT_DONE
The self tests have not been performed.
@ POWER_UP_SELF_TEST_FAILED
The self tests were executed via DoPowerUpSelfTest() or DoDllPowerUpSelfTest(), but the result was fa...
CRYPTOPP_DLL void SimulatePowerUpSelfTestFailure()
Sets the power-up self test status to POWER_UP_SELF_TEST_FAILED.
Utility functions for the Crypto++ library.
Crypto++ library namespace.