After digging into this I am even more confused. I see that this
error is thrown in cryptlib.cpp here:
Algorithm::Algorithm(bool checkSelfTestStatus)
{
if (checkSelfTestStatus && FIPS_140_2_ComplianceEnabled())
{
if (GetPowerUpSelfTestStatus() == POWER_UP_SELF_TEST_NOT_DONE
&& !
PowerUpSelfTestInProgressOnThisThread())
throw SelfTestFailure("Cryptographic algorithms are
disabled before
the power-up self tests are performed.");
if (GetPowerUpSelfTestStatus() == POWER_UP_SELF_TEST_FAILED)
throw SelfTestFailure("Cryptographic algorithms are
disabled after
a power-up self test failed.");
}
}
This is supposed to only occur when "checkSelfTestStatus &&
FIPS_140_2_ComplianceEnabled()". I then traced
FIPS_140_2_ComplianceEnabled(), which is defined in fips140:
bool FIPS_140_2_ComplianceEnabled()
{
return CRYPTOPP_ENABLE_COMPLIANCE_WITH_FIPS_140_2;
}
, where CRYPTOPP_ENABLE_COMPLIANCE_WITH_FIPS_140_2 is defined here:
// Define this to 1 to turn on FIPS 140-2 compliance features,
including additional tests during
// startup, random number generation, and key generation. These tests
may affect performance.
#ifndef CRYPTOPP_ENABLE_COMPLIANCE_WITH_FIPS_140_2
#define CRYPTOPP_ENABLE_COMPLIANCE_WITH_FIPS_140_2 0
#endif
I have also assured that CRYPTOPP_ENABLE_COMPLIANCE_WITH_FIPS_140_2 is
not being set in the project settings. (It originally was, but I
removed it). So FIPS compliance is turned off so it should not have
even gone into the branch of the cryptlib code to be doing this power
up test. Can anyone help?
Thanks,
David
--
You received this message because you are subscribed to the "Crypto++ Users"
Google Group.
To unsubscribe, send an email to [email protected].
More information about Crypto++ and this group is available at
http://www.cryptopp.com.