11#ifndef CRYPTOPP_FIPS140_H
12#define CRYPTOPP_FIPS140_H
17NAMESPACE_BEGIN(CryptoPP)
56CRYPTOPP_DLL
void CRYPTOPP_API
DoPowerUpSelfTest(
const char *moduleFilename,
const byte *expectedModuleMac);
74#ifndef CRYPTOPP_DOXYGEN_PROCESSING
88CRYPTOPP_DLL
bool CRYPTOPP_API
IntegrityCheckModule(
const char *moduleFilename,
const byte *expectedModuleMac,
SecByteBlock *pActualMac = NULLPTR,
unsigned long *pMacFileLocation = NULLPTR);
90#ifndef CRYPTOPP_DOXYGEN_PROCESSING
92bool PowerUpSelfTestInProgressOnThisThread();
94void SetPowerUpSelfTestInProgressOnThisThread(
bool inProgress);
99void SignaturePairwiseConsistencyTest_FIPS_140_Only(
const PK_Signer &signer,
const PK_Verifier &verifier);
108#define CRYPTOPP_DUMMY_DLL_MAC "MAC_51f34b8db820ae8"
Base class for all exceptions thrown by the library.
Interface for message authentication codes.
Interface for public-key decryptors.
Interface for public-key encryptors.
Interface for public-key signers.
Interface for public-key signature verifiers.
Abstract base classes that provide a uniform interface to this library.
CRYPTOPP_DLL MessageAuthenticationCode *CRYPTOPP_API NewIntegrityCheckingMAC()
Class object that calculates the MAC on the module.
CRYPTOPP_DLL void CRYPTOPP_API DoDllPowerUpSelfTest()
Performs the power-up self test on the DLL.
CRYPTOPP_DLL bool CRYPTOPP_API FIPS_140_2_ComplianceEnabled()
Determines whether the library provides FIPS validated cryptography.
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_PASSED
The self tests were executed via DoPowerUpSelfTest() or DoDllPowerUpSelfTest(), and the result was su...
@ POWER_UP_SELF_TEST_FAILED
The self tests were executed via DoPowerUpSelfTest() or DoDllPowerUpSelfTest(), but the result was fa...
CRYPTOPP_DLL void CRYPTOPP_API SimulatePowerUpSelfTestFailure()
Sets the power-up self test status to POWER_UP_SELF_TEST_FAILED.
CRYPTOPP_DLL PowerUpSelfTestStatus CRYPTOPP_API GetPowerUpSelfTestStatus()
Provides the current power-up self test status.
CRYPTOPP_DLL bool CRYPTOPP_API IntegrityCheckModule(const char *moduleFilename, const byte *expectedModuleMac, SecByteBlock *pActualMac=NULLPTR, unsigned long *pMacFileLocation=NULLPTR)
Verifies the MAC on the module.
CRYPTOPP_DLL void CRYPTOPP_API DoPowerUpSelfTest(const char *moduleFilename, const byte *expectedModuleMac)
Performs the power-up self test.
Classes and functions for secure memory allocations.