Hi,

We have an application running in WINCE Kernel address space as a DLL.
We require to have it compiled against FIPS enabled openSSL.

For that we followed following steps:
=================================
1. compiled openssl-fips2.0.3 and built fipscanister.lib.
2. took openssl-1.0.1c and linked to create FINGERPRINTED libeay32.dll.
3. Linked libeay32.dll in a driver code to load the library and call
FIPS_mode_set(1).
4. From the platform builder noted the load address of libeay32.dll as ROMDll.
5. Tried to recompile libeay32.dll using that base address.
=====================================
Now the problem we have faced is:

======================================
link.exe won't accept baseaddr > 2GB, even with /LARGEADDRESSAWARE flag.
link.exe accepts baseaddr > 2GB with /LARGEADDRESSAWARE /DRIVER flag,
but it adds a section called INIT, fro which current msincore script
generates wrong sha1 and fingerprinting fails upon running it.
======================================

 To get around the problem we have added following line in msincore
script, all the build procedure and files remains exactly same as in
source distribution.

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

system("editbin /nologo /rebase:base=0xc08a0000 @ARGV[$#ARGV] >
@ARGV[$#ARGV].rel");

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

Please let me know :

a> If the libeay32.dll thus produced will still be FIPS 140-2 validated module ?
b> Is there a better way solving the above described problem ?

Thanks in Advance,
-Abhijit
______________________________________________________________________
OpenSSL Project                                 http://www.openssl.org
User Support Mailing List                    openssl-users@openssl.org
Automated List Manager                           majord...@openssl.org

Reply via email to