Hi,
I have a question to ask.

It works fine if I want to create an executable linked with a fips object
module fipscanister.lib. I use script below to produce rr.exe. it works
fine.

But if I want to create a dll linked with a fips object module
fipscanister.lib. It does not work.
even I add /DLL /DEF:file.def stuff, The fipslink.pl always calls the dll
and cause the problem, it will make  FIPS_mode_set(1) return null.

How can I create a dll linked with a fips object module fipscanister.lib?

Many thanks,
Forrest

EX_LIBS         = wsock32.lib gdi32.lib advapi32.lib user32.lib
CFLAG           = /MD /Ox /O2 /Ob2 /W3 /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_CPUID_OBJ -DOPENSSL_IA32_SSE2
-DAES_ASM -DBN_ASM -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_BN_ASM_MONT
-DMD5_ASM -DSHA1_ASM -DRMD160_ASM -DOPENSSL_USE_APPLINK -I. /Fdout32dll
-DOPENSSL_NO_CAMELLIA -DOPENSSL_NO_SEED -DOPENSSL_NO_RC5 -DOPENSSL_NO_MDC2
-DOPENSSL_NO_KRB5 -DOPENSSL_FIPS -DOPENSSL_NO_DYNAMIC_ENGINE 
PERL            = perl
CC              = cl
SSL_D   = openssl
OUT_D   = bin
OBJ_D           = $(SSL_D)/tmp32dll
FIPSLINK        = $(PERL) $(SSL_D)/fipslink.pl
LFLAGS  = /nologo /subsystem:console /opt:ref
APP_EX_OBJ      = $(OBJ_D)/applink.obj /implib:$(OBJ_D)/junk.lib
O_FIPSCANISTER  = $(SSL_D)/fipscanister.lib
TMP_D   = $(SSL_D)/tmp32dll
INC_D   = $(SSL_D)/inc32
LINK    = link
INC     = -I$(INC_D) 
LIB_CFLAG       = -D_WINDLL
SHLIB_CFLAGS    = $(CFLAG) $(LIB_CFLAG) 
FIPS_SHA1_EXE   = $(SSL_D)/fips_standalone_sha1.exe
$(OUT_D)/rr.exe: rr.obj
        if not exist bin mkdir bin
        SET FIPS_LINK=$(LINK)
        SET FIPS_CC=$(CC)
        SET FIPS_CC_ARGS=/Fo$(OBJ_D)/fips_premain.obj $(SHLIB_CFLAGS) -c
        SET PREMAIN_DSO_EXE=
        SET FIPS_TARGET= $(OUT_D)/rr.exe
        SET FIPS_SHA1_EXE=$(FIPS_SHA1_EXE)
        SET FIPSLIB_D=$(SSL_D)
        $(FIPSLINK) $(LFLAGS) /map /out:$(OUT_D)/rr.exe $(APP_EX_OBJ) rr.obj
$(OBJ_D)/fips_premain.obj $(O_FIPSCANISTER) $(EX_LIBS)


obj: cpp
        $(CC) -I$(INC_D) -I$(TMP_D) $(CFLAG) -c $<      

clean:
    del /q $(OUT_D)
    if exist bin rmdir $(OUT_D)
-- 
View this message in context: 
http://www.nabble.com/Fips-compliant-DLL-in-windows-tp22173878p22173878.html
Sent from the OpenSSL - Dev mailing list archive at Nabble.com.
______________________________________________________________________
OpenSSL Project                                 http://www.openssl.org
Development Mailing List                       [email protected]
Automated List Manager                           [email protected]

Reply via email to