OpenSSL 1.0.2u 20 Dec 2019 Copyright (c) 1998-2019 The OpenSSL Project Copyright (c) 1995-1998 Eric A. Young, Tim J. Hudson All rights reserved. WARNING ------- This version of OpenSSL is built in a way that supports operation in the so called FIPS mode. Note though that the library as we build it is not FIPS 140-2 validated and the FIPS mode is present for testing purposes only. This version also contains a few differences from the upstream code some of which are: * The FIPS validation support is significantly different from the upstream FIPS support. For example the FIPS integrity verification check is implemented differently as the FIPS module is built inside the shared library. The HMAC-SHA256 checksums of the whole shared libraries are verified. Also note that the FIPS integrity verification check requires that the libcrypto and libssl shared library files are unmodified which means that it will fail if these files are changed for example by prelink. * If the file /etc/system-fips is present the integrity verification and selftests of the crypto algorithms are run inside the library constructor code. * With the /etc/system-fips present the module respects the kernel FIPS flag /proc/sys/crypto/fips and tries to initialize the FIPS mode if it is set to 1 aborting if the FIPS mode could not be initialized. With the /etc/system-fips present it is also possible to force the OpenSSL library to FIPS mode especially for debugging purposes by setting the environment variable OPENSSL_FORCE_FIPS_MODE. * If the environment variable OPENSSL_NO_DEFAULT_ZLIB is set the module will not automatically load the built in compression method ZLIB when initialized. Applications can still explicitely ask for ZLIB compression method. * The library was patched so the certificates, CRLs and other objects signed with use of MD5 fail verification as the MD5 is too insecure to be used for signatures. If the environment variable OPENSSL_ENABLE_MD5_VERIFY is set, the verification can proceed normally. * If the OPENSSL_ENFORCE_MODULUS_BITS environment variable is set, the library will not allow generation of DSA and RSA keys with other lengths than specified in the FIPS 186-4 standard. DESCRIPTION ----------- The OpenSSL Project is a collaborative effort to develop a robust, commercial-grade, fully featured, and Open Source toolkit implementing the Secure Sockets Layer (SSLv3) and Transport Layer Security (TLS) protocols as well as a full-strength general purpose cryptograpic library. The project is managed by a worldwide community of volunteers that use the Internet to communicate, plan, and develop the OpenSSL toolkit and its related documentation. OpenSSL is descended from the SSLeay library developed by Eric A. Young and Tim J. Hudson. The OpenSSL toolkit is licensed under a dual-license (the OpenSSL license plus the SSLeay license), which means that you are free to get and use it for commercial and non-commercial purposes as long as you fulfill the conditions of both licenses. OVERVIEW -------- The OpenSSL toolkit includes: libssl.a: Provides the client and server-side implementations for SSLv3 and TLS. libcrypto.a: Provides general cryptographic and X.509 support needed by SSL/TLS but not logically part of it. openssl: A command line tool that can be used for: Creation of key parameters Creation of X.509 certificates, CSRs and CRLs Calculation of message digests Encryption and decryption SSL/TLS client and server tests Handling of S/MIME signed or encrypted mail And more... INSTALLATION ------------ See the appropriate file: INSTALL Linux, Unix, etc. INSTALL.DJGPP DOS platform with DJGPP INSTALL.NW Netware INSTALL.OS2 OS/2 INSTALL.VMS VMS INSTALL.W32 Windows (32bit) INSTALL.W64 Windows (64bit) INSTALL.WCE Windows CE SUPPORT ------- See the OpenSSL website www.openssl.org for details on how to obtain commercial technical support. If you have any problems with OpenSSL then please take the following steps first: - Download the latest version from the repository to see if the problem has already been addressed - Configure with no-asm - Remove compiler optimisation flags If you wish to report a bug then please include the following information and create an issue on GitHub: - On Unix systems: Self-test report generated by 'make report' - On other systems: OpenSSL version: output of 'openssl version -a' OS Name, Version, Hardware platform Compiler Details (name, version) - Application Details (name, version) - Problem Description (steps that will reproduce the problem, if known) - Stack Traceback (if the application dumps core) Just because something doesn't work the way you expect does not mean it is necessarily a bug in OpenSSL. HOW TO CONTRIBUTE TO OpenSSL ---------------------------- See CONTRIBUTING LEGALITIES ---------- A number of nations restrict the use or export of cryptography. If you are potentially subject to such restrictions you should seek competent professional legal advice before attempting to develop or distribute cryptographic code.