Hi Jeff, > Is it required that you use the certified DLL? If using the 'the FIPS > validated DLL', it means you downloaded the binary (you cannot compile > and link the binary yourself and claim it is FIPS certified).
Yes, I'm required to use the certified DLL since my software will have to be FIPS 140-2 compliant. > If you require a FIPS DLL, you will need to supplement the FIPS DLL by > adding the missing as non-DLL exported. In this case, you could add a > second lib with the missing functions. > > Finally, the Crypto++ default settings use static linking against the > runtime library. This includes the DLL. So if you are using the dll > because your project is 'dynamic linking' to everything, be aware you > might encounter default library issues. I must admit that I am a novice when it comes to using DLLs or static libraries. I'll have to look into how to do this before giving it a shot. Thanks, Trung On Apr 21, 3:29 pm, "Jeffrey Walton" <[EMAIL PROTECTED]> wrote: > Hi Trung, > > > using the FIPS validated DLL > > Is it required that you use the certified DLL? If using the 'the FIPS > validated DLL', it means you downloaded the binary (you cannot compile > and link the binary yourself and claim it is FIPS certified). > > If you are using Crypto++ as a vanilla DLL (non-certified) and you > need the functions, add CRYPTOPP_DLL to the declaration. (Also take a > look at CRYPTOPP_DLL_TEMPLATE_CLASS). The cryptdll project does not > include files dh.h and dh,cpp, so you will need to add it to the > project (obviously they are in the solution and available to other > projects such as cryptest). For an example, see how Wei defines > functions in osrng.h and osrng.c (actually, anything in cryptdll wil > do). > > If you require a FIPS DLL, you will need to supplement the FIPS DLL by > adding the missing as non-DLL exported. In this case, you could add a > second lib with the missing functions. > > Finally, the Crypto++ default settings use static linking against the > runtime library. This includes the DLL. So if you are using the dll > because your project is 'dynamic linking' to everything, be aware you > might encounter default library issues. > > Jeff > > On 4/21/08, T.Le <[EMAIL PROTECTED]> wrote: > > > > > > > Hello all, > > > I apologize in advance if this problem has been addressed, but I've > > been searching the mailing list and the web for several days now and > > have not been able to find an answer. I have successfully compiled > > 'dlltest' and wanted to use Diffie-Hellman for my key exchange (I'm > > using the FIPS validated DLL version 5.0.4). I pretty much copied the > > sample code from the wiki page and ended up with the code below: > > > AutoSeededRandomPool arngA; > > RandomNumberGenerator& rngA = *dynamic_cast < RandomNumberGenerator * > > > ( &arngA ); > > > DH dhA ( rngA, 128 ); > > > Integer iPrime = dhA.GetGroupParameters ( ).GetModulus ( ); > > Integer iGenerator = dhA.GetGroupParameters ( ).GetSubgroupGenerator > > ( ); > > > AutoSeededRandomPool arngB; > > RandomNumberGenerator& rngB = *dynamic_cast < RandomNumberGenerator * > > > ( &arngB ); > > > DH dhB ( iPrime, iGenerator ); > > > The last line of code "DH dhB ( iPrime, iGenerator );" causes this > > link error: > > > dlltest.obj : error LNK2001: unresolved external symbol > > "__declspec(dllimport) public: __thiscall CryptoPP::DH_Domain<class > > CryptoPP::DL_GroupParameters_GFP_DefaultSafePrime,struct > > CryptoPP::EnumToType<enum CryptoPP::CofactorMultiplicationOption,0> > > >::DH_Domain<class CryptoPP::DL_GroupParameters_GFP_DefaultSafePrime,struct > > >CryptoPP::EnumToType<enum CryptoPP::CofactorMultiplicationOption,0> > > >>(class DH_Domain<class > > >CryptoPP::DL_GroupParameters_GFP_DefaultSafePrime,struct > > >CryptoPP::EnumToType<enu > > m CryptoPP::CofactorMultiplicationOption,0> >::Integer const &,class > > DH_Domain<class > > CryptoPP::DL_GroupParameters_GFP_DefaultSafePrime,struct > > CryptoPP::EnumToType<enum CryptoPP::CofactorMultiplicationOption,0> > > >::Integer const &)" (__imp_??0?$DH_Dom > > [EMAIL PROTECTED]@CryptoPP@@U? > > [EMAIL PROTECTED]@CryptoPP@@ > > $0A@@2@@CryptoPP@@[EMAIL PROTECTED]@[EMAIL PROTECTED]@Z) > > DLL_Debug/dlltest.exe : fatal error LNK1120: 1 unresolved externals > > > It appears this issue has come up before with no resolution: > >http://groups.google.com/group/cryptopp-users/browse_thread/thread/f8... > > > Any input or suggestions would be appreciated. > > > Thanks, > > > Trung- Hide quoted text - > > - Show quoted text - --~--~---------~--~----~------------~-------~--~----~ 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. -~----------~----~----~----~------~----~------~--~---
