Hi Trung, > Yes, I'm required to use the certified DLL since my software will have > to be FIPS 140-2 compliant. Unfortunatley, that presents some challenges for you. See http://groups.google.com/group/cryptopp-users/msg/6373d2c85e7b0e8d.
Jeff On 4/21/08, T.Le <[EMAIL PROTECTED]> wrote: > > 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. -~----------~----~----~----~------~----~------~--~---
