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