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

Reply via email to