[openssl.org #3395] Can’t Compile 0.9.8za FIPS on Win 7 32 Bit w/ Visual Studio 2010.

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
5 messages Options
Reply | Threaded
Open this post in threaded view
|

[openssl.org #3395] Can’t Compile 0.9.8za FIPS on Win 7 32 Bit w/ Visual Studio 2010.

Rich Salz via RT
 
OpenSSL Support;

    I issued the command ms\do_fips (also tried w/ ‘no-ec’ option,) it compiles for about 5 minutes, and then throws this error…
 
 
Creating library tmp32dll\junk.lib and object tmp32dll\junk.exp
 
fipscanister.lib(rsa_oaep.obj) : error LNK2019: unresolved external symbol _CRYPTO_memcmp referenced in function _RSA_padding_check_PKCS1_OAEP
 
out32dll\fips_test_suite.exe : fatal error LNK1120: 1 unresolved externals
 
First stage Link failure at util\fipslink.pl line 42.
 
NMAKE : fatal error U1077: 'C:\Perl\bin\perl.EXE' : return code '0x60'
 
Stop.
______________________________________________________________________
OpenSSL Project                                 http://www.openssl.org
Development Mailing List                       [hidden email]
Automated List Manager                           [hidden email]
Reply | Threaded
Open this post in threaded view
|

Re: [openssl.org #3395] Can’t Compile 0.9.8za FIPS on Win 7 32 Bit w/ Visual Studio 2010.

Andy Schmidt
I am getting the same error on Win 8.1 32 bit with Visual Studio 2008 when issuing 'ms\do_fips'.

Andrew Schmidt


On Tue, Jun 10, 2014 at 11:53 AM, Swenson, Ken_S. via RT <[hidden email]> wrote:

OpenSSL Support;

    I issued the command ms\do_fips (also tried w/ ‘no-ec’ option,) it compiles for about 5 minutes, and then throws this error…


Creating library tmp32dll\junk.lib and object tmp32dll\junk.exp

fipscanister.lib(rsa_oaep.obj) : error LNK2019: unresolved external symbol _CRYPTO_memcmp referenced in function _RSA_padding_check_PKCS1_OAEP

out32dll\fips_test_suite.exe : fatal error LNK1120: 1 unresolved externals

First stage Link failure at util\fipslink.pl line 42.

NMAKE : fatal error U1077: 'C:\Perl\bin\perl.EXE' : return code '0x60'

Stop.
______________________________________________________________________
OpenSSL Project                                 http://www.openssl.org
Development Mailing List                       [hidden email]
Automated List Manager                           [hidden email]

Reply | Threaded
Open this post in threaded view
|

Re: [openssl.org #3395] Can???t Compile 0.9.8za FIPS on Win 7 32 Bit w/ Visual Studio 2010.

Dr. Stephen Henson
On Wed, Jun 11, 2014, Andy Schmidt wrote:

> I am getting the same error on Win 8.1 32 bit with Visual Studio 2008 when
> issuing 'ms\do_fips'.
>

You shouldn't be calling ms\do_fips from OpenSSL 0.9.8 only from the validated
module tarball.

Steve.
--
Dr Stephen N. Henson. OpenSSL project core developer.
Commercial tech support now available see: http://www.openssl.org
______________________________________________________________________
OpenSSL Project                                 http://www.openssl.org
Development Mailing List                       [hidden email]
Automated List Manager                           [hidden email]
Reply | Threaded
Open this post in threaded view
|

Re: [openssl.org #3395] Can’t Compile 0.9.8za FIPS on Win 7 32 Bit w/ Visual Studio 2010.

Andy Schmidt
In reply to this post by Rich Salz via RT
Hi Ken, OpenSSL support, 

I was able to get the 'ms\do_fips' build to succeed on Win 8.1, Visual Studio 2008 32-bit by unconditionally compiling the function CRYPTO_memcmp in crypto/cryptlib.c and removing the same function from crypto/o_init.c.

In the za source, a guard macro is set to only compile CRYPTO_memcmp in cryptlib.c if OPENSSL_FIPS is not defined, while a similar guard macro will only compile this function in o_init.c under the converse condition that OPENSSL_FIPS is defined.

I have no idea if these source changes are acceptable for the other OpenSSL platforms, but they could be avoided by changing nt.mak/ntdll.mak nmake files to include linking the appropriate object file (o_init.obj in this case) for the fips_test_suite.exe target. And any other targets similarly affected.

Andrew Schmidt


On Tue, Jun 10, 2014 at 11:53 AM, Swenson, Ken_S. via RT <[hidden email]> wrote:

OpenSSL Support;

    I issued the command ms\do_fips (also tried w/ ‘no-ec’ option,) it compiles for about 5 minutes, and then throws this error…


Creating library tmp32dll\junk.lib and object tmp32dll\junk.exp

fipscanister.lib(rsa_oaep.obj) : error LNK2019: unresolved external symbol _CRYPTO_memcmp referenced in function _RSA_padding_check_PKCS1_OAEP

out32dll\fips_test_suite.exe : fatal error LNK1120: 1 unresolved externals

First stage Link failure at util\fipslink.pl line 42.

NMAKE : fatal error U1077: 'C:\Perl\bin\perl.EXE' : return code '0x60'

Stop.
______________________________________________________________________
OpenSSL Project                                 http://www.openssl.org
Development Mailing List                       [hidden email]
Automated List Manager                           [hidden email]

Reply | Threaded
Open this post in threaded view
|

Re: [openssl.org #3395] Can’t Compile 0.9.8za FIPS on Win 7 32 Bit w/ Visual Studio 2010.

Andy Schmidt
I just confirmed that the 'ms\do_fips no-asm' build on Win 8.1 Visual Studio 2008 AMD64 build suffers from the same failure that Ken Swenson describes, and that it is fixed by the same remedy as I described for Win32.

Andrew Schmidt


On Wed, Jun 11, 2014 at 4:24 PM, Andy Schmidt <[hidden email]> wrote:
Hi Ken, OpenSSL support, 

I was able to get the 'ms\do_fips' build to succeed on Win 8.1, Visual Studio 2008 32-bit by unconditionally compiling the function CRYPTO_memcmp in crypto/cryptlib.c and removing the same function from crypto/o_init.c.

In the za source, a guard macro is set to only compile CRYPTO_memcmp in cryptlib.c if OPENSSL_FIPS is not defined, while a similar guard macro will only compile this function in o_init.c under the converse condition that OPENSSL_FIPS is defined.

I have no idea if these source changes are acceptable for the other OpenSSL platforms, but they could be avoided by changing nt.mak/ntdll.mak nmake files to include linking the appropriate object file (o_init.obj in this case) for the fips_test_suite.exe target. And any other targets similarly affected.

Andrew Schmidt


On Tue, Jun 10, 2014 at 11:53 AM, Swenson, Ken_S. via RT <[hidden email]> wrote:

OpenSSL Support;

    I issued the command ms\do_fips (also tried w/ ‘no-ec’ option,) it compiles for about 5 minutes, and then throws this error…


Creating library tmp32dll\junk.lib and object tmp32dll\junk.exp

fipscanister.lib(rsa_oaep.obj) : error LNK2019: unresolved external symbol _CRYPTO_memcmp referenced in function _RSA_padding_check_PKCS1_OAEP

out32dll\fips_test_suite.exe : fatal error LNK1120: 1 unresolved externals

First stage Link failure at util\fipslink.pl line 42.

NMAKE : fatal error U1077: 'C:\Perl\bin\perl.EXE' : return code '0x60'

Stop.
______________________________________________________________________
OpenSSL Project                                 http://www.openssl.org
Development Mailing List                       [hidden email]
Automated List Manager                           [hidden email]