In process upgrade openssl to 0.9.8za. When building with fips module 1.2.4 
lib, failed with link error. The same process and fips 1.2.4 lib works with 
0.9.8y.

Compared the code difference with 0.9.8za and 0.9.8y, noticed 
BN_consttime_swap() is used in 0.9.8za crypto/ec/ec2_mult.c.

perl Configure VC-WIN32 no-asm fips 
--with-fipslibdir=C:\openssl_build\openssl-fips-1.2.4\out32dll
ms\do_ms
nmake -f ms\ntdll.mak clean
nmake -f ms\ntdll.mak

The error I got
                    cl /Fotmp32dll\fips_premain_dso.obj 
-DFINGERPRINT_PREMAIN_DSO_LOAD -Iinc32 -Itmp32dll /MD /Ox /O2 /Ob2 /W3 /WX /Gs0 
/GF /Gy /nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN 
-DDSO_WIN32 -D_CRT_SECURE_NO_DEPRECATE -D_CRT_NONSTDC_NO_DEPRECATE 
-DOPENSSL_USE_APPLINK -I. /Fdout32dll -DOPENSSL_NO_CAMELLIA -DOPENSSL_NO_SEED 
-DOPENSSL_NO_RC5 -DOPENSSL_NO_MDC2 -DOPENSSL_NO_CMS -DOPENSSL_NO_JPAKE 
-DOPENSSL_NO_CAPIENG -DOPENSSL_NO_KRB5 -DOPENSSL_FIPS 
-DOPENSSL_NO_DYNAMIC_ENGINE -D_WINDLL  -c .\fips\fips_premain.c
fips_premain.c
                    link /nologo /subsystem:console /opt:ref 
/out:out32dll\fips_premain_dso.exe @C:\DOCUME~1\zhangp\LOCALS~1\Temp\1\nm419.tmp
   Creating library out32dll\fips_premain_dso.lib and object 
out32dll\fips_premain_dso.exp
ec2_mult.obj : error LNK2019: unresolved external symbol _BN_consttime_swap 
referenced in function _ec_GF2m_montgomery_point_multiply
out32dll\fips_premain_dso.exe : fatal error LNK1120: 1 unresolved externals

Any recommendation on solutions?

Thanks,
-Ping

Reply via email to