README.FIPS 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384
  1. Brief instructions on using OpenSSL 0.9.8 FIPS 140-2 test branch.
  2. NOTE: this distribution is NOT FIPS140-2 validated. These instructions are
  3. intended for people who wish to test the OpenSSL FIPS 140-2 1.2 module. More
  4. complete instructions will be made available after validation.
  5. 1. Build from test tarball.
  6. Download the OpenSSL test 1.2 source tree. The current version has the CVS tag
  7. FIPS_098_TEST_8 or can be downloaded from:
  8. ftp://ftp.openssl.org/snapshot/openssl-fips-test-1.2.0.tar.gz
  9. Ignore any instructions in that tree: they are likely to be out of date.
  10. If you are using a Unix like environment run the following commands. You may
  11. NOT specify ANY other options at this stage.
  12. ./config fipscanisterbuild
  13. make
  14. make install
  15. This will build and install the test 1.2 module and binaries under
  16. /usr/local/fips-1.0
  17. For Windows you need VC++, perl and NASM installed. This is now a pure VC++
  18. build: no alternative compilers or tools are required. From a VC++ environment
  19. do:
  20. ms\do_fips
  21. It should report that the compile was successful.
  22. This will compile binaries into the out32dll directory. They can be copied to
  23. a more convenient location.
  24. 2. Link test module to a more recent version of OpenSSL.
  25. Once the test module has been installed it can be linked against a more recent
  26. version of OpenSSL. Currently only versions from the 0.9.8-fips stable branch
  27. can be used. It has the CVS tag OpenSSL-fips-0_9_8-stable daily snaphots can
  28. also be downloaded as:
  29. ftp://ftp.openssl.org/snapshot/openssl-0.9.8-fips-test-SNAP-YYMMDD.tar.gz
  30. For a Unix build the standrd build procedure is followed and the option "fips"
  31. is passed to either the config or Configure scripts. The fipscanisterbuild
  32. option MUST NOT be used. Any other options may be included. Static libraries
  33. can be built using the no-shared option.
  34. For example:
  35. ./config fips
  36. ./config fips no-shared
  37. For Windows builds the options "fips" and --with-fipslibdir=<path> are passed
  38. to the Configure script where <path> is wherever the module was installed
  39. For example:
  40. perl Configure fips --with-fipslibdir=C:\some\path\fips
  41. Then the build process continues in the normal way for example:
  42. ms\do_nasm
  43. nmake -f ms\ntdll.mak
  44. for DLLs or
  45. ms\do_nasm
  46. nmake -f ms\nt.mak
  47. for static builds.
  48. 3. Test new version of OpenSSL.
  49. The new test FIPS enabled OpenSSL can now be tested in the usual way.
  50. Additionally binary compatibility tests against OpenSSL 0.9.8x would be
  51. MOST welcomed. This will help avoid any major issues when the 0.9.8-fips
  52. branch is merged into 0.9.8 branch.
  53. Any problems should be reported to the openssl-dev mailing list.