Hi Mr. Stephen N. Henson,


Thankyou so much for the reply.



We would like to use the option1 mentioned by you. But unfortunately the dll's 
were not generated, only static lib's were generated.

Please guide if we have missed any steps.



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

Procedure for FIPS Enabled OpenSSL Module Compilation

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



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

    1. Compile openssl-fips2.0.9 module

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

        a. Extract the contents of openssl-fips-2.0.9.tar.gz to 
C:\openssl-fips-2.0\

        b. Open Visual Studio 2008 Command Prompt.

        c. cd C:\openssl-fips2.0.9\

        d. Copy all the contents of "C:\Program Files\NASM" in this source 
folder

        e. ms\do_fips [no-asm] (nmake -f ms\ntdll.mak  &  nmake -f ms\ntdll.mak 
install are included in this command)



        Compiled FIPS module is located at C:\usr\local\ssl\fips-2.0



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

    2. Integrate compiled openssl-fips2.0.9 in openssl-1.0.2c

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

        a. Extract the contents of openssl-1.0.2c.tar.gz to 
C:\openssl-1.0.2c-fips-compliant\

        b. Open Visual Studio 2008 Command Prompt.

        c. cd C:\openssl-1.0.2c-fips-compliant\

        d. Copy all the contents of "C:\Program Files\NASM" in this source 
folder



        e. perl Configure VC-WIN32 fips 
--with-fipslibdir=C:\usr\local\ssl\fips-2.0.9

        f. ms\do_nasm

        g. nmake -f ms\nt.mak

        h. For Testing, use the following command: nmake -f ms\nt.mak test

        i. nmake -f ms\nt.mak install

        j. (If you want to create DLL files then Use the following commands  
nmake -f ms\ntdll.mak  &&     nmake -f ms\ntdll.mak install)

        k. Compiled FIPS compliant OpenSSL exe is located at 
C:\usr\local\ssl\bin\openssl.exe

        l. Run C:\usr\local\ssl\bin\openssl.exe and type "version". You will be 
confirmed to get the following output.

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

            ****OpenSSL 1.0.2c-fips 11 Feb 2013****

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

        m. Compiled FIPS compliant OpenSSL fipslibeay32.lib, ssleay32.lib & 
libeaycompat32.lib are located at C:\openssl-1.0.2c-fips-compliant\out32

        n. Compiled FIPS compliant OpenSSL fipslibeay32.dll & ssleay32.dll are 
located at C:\openssl-1.0.2c-fips-compliant\out32



        But for the step-n fipslibeay32.dll was not generated. Please let me 
know if the dll will be generated with some other naming convention. Or some 
procedure was missing.



      Your help is most appreciated. Please do not close the call.



Thanks&Regards

Ashwini V Patil





-----Original Message-----
From: Stephen Henson via RT [mailto:r...@openssl.org]
Sent: Friday, August 14, 2015 7:23 PM
To: Patil, Ashwini IN BLR STS
Cc: openssl-dev@openssl.org
Subject: [openssl.org #3978] RE: Openssl 1.0.2c include the FIPS 140-2 Object 
Module



On Tue Aug 04 03:24:21 2015, 
ashwini.vpa...@siemens.com<mailto:ashwini.vpa...@siemens.com> wrote:

> Hello All,

>

> Following steps are done to check the FIPS feasibility .

>

> To check ASLR dependency the following link was referred.

> http://openssl.6102.n7.nabble.com/FIPS-Module-1-2-build-with-Visual-

> Studio-2010-fails-self-tests-td36372.html

>

> Linker properties were changed in visual studio 2008 for the test

> application executable file.

> The following flag was disabled ( which was enabled by default in

> 2008VS)

> Linker> Advanced Properties>Disable the "Randomized Base Address

> Linker> property "

>

> I have followed the below steps Integration of FIPS Complaint compiled

> OPENSSL Library with Visual Studio 2008

> ====================================================================

>

> 1. Open Visual Studio 2008

>

> 2. File => New => Project => Visual C++ => Win 32 => Win32 Console

> Application=> Next => Empty Project => Finish

>

> 3. Right Click on source file => Add => Existing Items => C:\openssl-

> fips-2.0\fips\hmac\fips_hmactest.c

>

> 4. Right Click on Resources File => Add => Existing Items =>

> libeayfips32.lib, ssleay32.lib & libeaycompat32.lib (from C:\openssl-

> 1.0.2c-fips-compliant\out32) and C:\openssl-1.0.2c-

> simple\out32\libeay32.lib (OpenSSL simple Version)

>

> 5. Right Click on fips_hmactest.c=> Properties => C++ => General =>

> Additional Include Directories : C:\usr\local\ssl\include => Finish

>

> 6. Compile the Project => Works Fine

>

> We get the below error when run the exe:

> ERROR:2D06B06F:LIB-45,FUNC=107,REASON=111:FILE=fips.c line=232

>

FIPSerr(FIPS_F_FIPS_CHECK_INCORE_FINGERPRINT,FIPS_R_FINGERPRINT_DOES_NOT_MATCH);

>



Your problem is that your link procedure doesn't embed the incore fingerprint 
in the target binary.



You have two options.



The easiest is to link against the FIPS capable OpenSSL shared library instead 
of the static one: the signature is already in the DLL so it should just work.



The second and much harder option is to follow the appropriate link procedure 
to embed a signature in the target binary. There is a perl script called 
fipslink.pl in the FIPS module which does this and examples in the static 
makefile ms\nt.mak. You would have to customise the VC build procedure to do 
something similar and/or link using a script instead.



Closing this as it isn't a bug report, please address and follow up to 
openssl-users.



Steve.

--

Dr Stephen N. Henson. OpenSSL project core developer.

Commercial tech support now available see: http://www.openssl.org


_______________________________________________
openssl-dev mailing list
To unsubscribe: https://mta.openssl.org/mailman/listinfo/openssl-dev

Reply via email to