a1fb602
diff -up openssl-1.0.2a/README.warning openssl-1.0.2a/README
a1fb602
--- openssl-1.0.2a/README.warning	2015-03-20 16:00:47.000000000 +0100
a1fb602
+++ openssl-1.0.2a/README	2015-03-21 09:06:11.000000000 +0100
a1fb602
@@ -5,6 +5,46 @@
a1fb602
  Copyright (c) 1995-1998 Eric A. Young, Tim J. Hudson
a1fb602
  All rights reserved.
a1fb602
 
a1fb602
+ WARNING
a1fb602
+ -------
a1fb602
+
a1fb602
+ This version of OpenSSL is built in a way that supports operation in
a1fb602
+ the so called FIPS mode. Note though that the library as we build it
a1fb602
+ is not FIPS 140-2 validated and the FIPS mode is present for testing
a1fb602
+ purposes only.
a1fb602
+
a1fb602
+ This version also contains a few differences from the upstream code
a1fb602
+ some of which are:
a1fb602
+   * The FIPS validation support is significantly different from the
a1fb602
+     upstream FIPS support. For example the FIPS integrity verification
a1fb602
+     check is implemented differently as the FIPS module is built inside
a1fb602
+     the shared library. The HMAC-SHA256 checksums of the whole shared
a1fb602
+     libraries are verified. Also note that the FIPS integrity
a1fb602
+     verification check requires that the libcrypto and libssl shared
a1fb602
+     library files are unmodified which means that it will fail if these
a1fb602
+     files are changed for example by prelink.
a1fb602
+   * If the file /etc/system-fips is present the integrity verification
a1fb602
+     and selftests of the crypto algorithms are run inside the library
a1fb602
+     constructor code.
a1fb602
+   * With the /etc/system-fips present the module respects the kernel
a1fb602
+     FIPS flag /proc/sys/crypto/fips and tries to initialize the FIPS mode
a1fb602
+     if it is set to 1 aborting if the FIPS mode could not be initialized.
a1fb602
+     With the /etc/system-fips present it is also possible to force the
a1fb602
+     OpenSSL library to FIPS mode especially for debugging purposes by
a1fb602
+     setting the environment variable OPENSSL_FORCE_FIPS_MODE.
a1fb602
+   * If the environment variable OPENSSL_NO_DEFAULT_ZLIB is set the module
a1fb602
+     will not automatically load the built in compression method ZLIB
a1fb602
+     when initialized. Applications can still explicitely ask for ZLIB
a1fb602
+     compression method.
a1fb602
+   * The library was patched so the certificates, CRLs and other objects
a1fb602
+     signed with use of MD5 fail verification as the MD5 is too insecure
a1fb602
+     to be used for signatures. If the environment variable
a1fb602
+     OPENSSL_ENABLE_MD5_VERIFY is set, the verification can proceed
a1fb602
+     normally.
a1fb602
+   * If the OPENSSL_ENFORCE_MODULUS_BITS environment variable is set,
a1fb602
+     the library will not allow generation of DSA and RSA keys with
a1fb602
+     other lengths than specified in the FIPS 186-4 standard.
a1fb602
+
a1fb602
  DESCRIPTION
a1fb602
  -----------
a1fb602