Hello,

I just started with Crypto++ and d'led the current 5.5.1 version.
Basically I need it for somple simple RSA and message signing stuff. I
had severe trouble to get the static lib linked against another
project that produces an dll, lots of double symbols between the
cryptlib.lib and my own dll so I decided to use the FIPS140-dll
version.
However, after starting with a very simple test programm I can see it
failing for an unknown reason. I used "GetPowerUpSelfTestStatus" to
get somewhat closer to this problem and - voila - it failed ?!
Basically my test programm looks like this:


===============================================================
#include "cryptopp/dll.h"

#include <string>

using namespace std;
using namespace CryptoPP;


int main(int argc, char *argv[]) {

        // COPIED FROM "dlltest.cpp"; test is valid
        if (!FIPS_140_2_ComplianceEnabled())
        {
                cerr << "FIPS 140-2 compliance was turned off at compile 
time.\n";
                abort();
        }

        // COPIED FROM "dlltest.cpp"; test fails - why?
        if (GetPowerUpSelfTestStatus() != POWER_UP_SELF_TEST_PASSED)
        {
                cerr << "Automatic power-up self test failed.\n";
                abort();
        }
        cout << "0. Automatic power-up self test passed.\n";

        // defining some dummy stuff
        const string seed = "1234567890";
        const string privFilename = "my_private_key.txt";
        const string pubFilename  = "my_public_key.txt";
        const int keyLength = 1024;

        RandomPool randPool;
        randPool.IncorporateEntropy((byte *)seed.c_str(), seed.length());

        RSAES_OAEP_SHA_Decryptor priv(randPool, keyLength);
        BaseN_Encoder privFile(new FileSink(privFilename.c_str()));
        priv.DEREncode(privFile);
        privFile.MessageEnd();

        RSAES_OAEP_SHA_Encryptor pub(priv);
        BaseN_Encoder pubFile(new FileSink(pubFilename.c_str()));
        pub.DEREncode(pubFile);
        pubFile.MessageEnd();
};

===============================================================

So really straight forward and it's main purpose is to test the dll
linking. Compiling and linking runs without a single warning/error but
it fails in GetPowerUpSelfTestStatus. If I ignore this some memory
exception type (sthe stack ends in the file "xstring") while pop up
when creating the "randPool" object.

The above programm is compiled into a console WIN32 application and
all the Crypto++ projects have been compiled out-of-the-box without
any single change.


Thanks in advance for any helpfull hand,
Soeren Gerlach


--~--~---------~--~----~------------~-------~--~----~
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.
-~----------~----~----~----~------~----~------~--~---

Reply via email to