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 **** >