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

Reply via email to