Hi Bill,
    Try the following recipe......

1) Clean your system. By default, openssl installs to /usr/local/ssl, and
you existing Ubuntu install will be in /usr, so you are safe to rm -rf
/usr/local/ssl

2)  get http://www.openssl.org/source/openssl-1.0.1c.tar.gz

3)  get ftp://ftp.openssl.org/snapshot/openssl-fips-2.0-test-"date"; . Get
the latest, it changes nightly

4) extract them.

5) Get into openssl-fips-2.0-test-XXX and run

#./config     <- no other flags allowed for a fips build, except no-asm to
turn off speedups )
#make
#make install

There's a test make target too, go looking in the makefile.

The make install will have put some headers, libraries, and support files
in /usr/local/ssl/fips-2.0
If you look under lib in there, you will see some checksum files, an object
file, and pre_main stub .c file. This is the code that allows a binary to
get its out checksum.

6) Now build openssl-1.0.1c against the fips headers and objects that have
just been installed in /usr/local/ssl/fips-2.0 .....

cd openssl-1.0.1c

#./config fips  shared
#make
#make install

Again, there's a make test target, look in the makefile for it.

That will give you  libssl.a, libcrypto.a, the .so's  and headers in
/usr/local/ssl.
The the openssl in /usr/local/ssl/bin by setting you're LD_PRELOAD and
running

#cd /usr/local/ssl/bin

#./openssl version   <- you should see fips in the output.

#echo "Some stupid test text" > foo.txt
#./openssl bf -salt -in foo.txt
(supply a password x2 )

It should echo out the crypted text.

Repeat the test, but export OPENSSL_FIPS=1 first.

Openssl should barf, claiming that its not allowed to use that algorithm.
This means fips mode is working correctly.



This is an easy process on x86, its a different story if yo're cross
compiling, which you're not.

Good luck.
Simon









****
>

Reply via email to