Utilities from the general purpose cryptography library with TLS implementation
Go to file
Sahana Prasad 477bb5e652 - Upload new upstream sources without manually hobbling them.
- Remove the hobbling script as it is redundant. It is now allowed to ship
    the sources of patented EC curves, however it is still made unavailable to use
    by compiling with the 'no-ec2m' Configure option. The additional forbidden
    curves such as P-160, P-192, wap-tls curves are manually removed by updating
    0011-Remove-EC-curves.patch.
  - Apply the changes to ec_curve.c and  ectest.c as a new patch
    0010-Add-changes-to-ectest-and-eccurve.patch instead of replacing them.
  - Modify 0011-Remove-EC-curves.patch to allow Brainpool curves.
  - Modify 0011-Remove-EC-curves.patch to allow code under macro OPENSSL_NO_EC2M.
┊   Resolves: rhbz#2130618, rhbz#2141672

Signed-off-by: Sahana Prasad <sahana@redhat.com>
2023-03-21 14:21:41 +01:00
tests Restore Python CI tests removed when OpenSSL was updated to 3.0 2022-03-18 10:58:59 +01:00
.gitignore - Upload new upstream sources without manually hobbling them. 2023-03-21 14:21:41 +01:00
0001-Aarch64-and-ppc64le-use-lib64.patch Rebase to upstream version 3.0.0 2021-09-09 17:27:21 +02:00
0002-Use-more-general-default-values-in-openssl.cnf.patch Rebase to upstream version 3.0.0 2021-09-09 17:27:21 +02:00
0003-Do-not-install-html-docs.patch Rebase to upstream version 3.0.0 2021-09-09 17:27:21 +02:00
0004-Override-default-paths-for-the-CA-directory-tree.patch Rebase to upstream version 3.0.0 2021-09-09 17:27:21 +02:00
0005-apps-ca-fix-md-option-help-text.patch Rebase to upstream version 3.0.0 2021-09-09 17:27:21 +02:00
0006-Disable-signature-verification-with-totally-unsafe-h.patch Rebase to upstream version 3.0.0 2021-09-09 17:27:21 +02:00
0007-Add-support-for-PROFILE-SYSTEM-system-default-cipher.patch Rebase to upstream version 3.0.8 2023-02-09 17:57:19 +01:00
0008-Add-FIPS_mode-compatibility-macro.patch - Rebase to upstream version 3.0.7 2022-12-23 11:53:21 +01:00
0009-Add-Kernel-FIPS-mode-flag-support.patch Rebase to upstream version 3.0.8 2023-02-09 17:57:19 +01:00
0010-Add-changes-to-ectest-and-eccurve.patch - Upload new upstream sources without manually hobbling them. 2023-03-21 14:21:41 +01:00
0011-Remove-EC-curves.patch - Upload new upstream sources without manually hobbling them. 2023-03-21 14:21:41 +01:00
0012-Disable-explicit-ec.patch Sync with RHEL - applying patches 2022-09-02 16:20:26 +02:00
0013-skipped-tests-EC-curves.patch - Upload new upstream sources without manually hobbling them. 2023-03-21 14:21:41 +01:00
0024-load-legacy-prov.patch Sync with RHEL - applying patches 2022-09-02 16:20:26 +02:00
0025-for-tests.patch Sync with RHEL - applying patches 2022-09-02 16:20:26 +02:00
0031-tmp-Fix-test-names.patch Sync with RHEL - applying patches 2022-09-02 16:20:26 +02:00
0032-Force-fips.patch - Rebase to upstream version 3.0.7 2022-12-23 11:53:21 +01:00
0033-FIPS-embed-hmac.patch Refactor embedded mac verification in FIPS module 2023-01-05 11:30:00 +01:00
0034.fipsinstall_disable.patch Rebase to upstream version 3.0.8 2023-02-09 17:57:19 +01:00
0035-speed-skip-unavailable-dgst.patch - Rebase to upstream version 3.0.7 2022-12-23 11:53:21 +01:00
0044-FIPS-140-3-keychecks.patch Sync with RHEL - applying patches 2022-09-02 16:20:26 +02:00
0045-FIPS-services-minimize.patch - Upload new upstream sources without manually hobbling them. 2023-03-21 14:21:41 +01:00
0047-FIPS-early-KATS.patch Sync with RHEL - applying patches 2022-09-02 16:20:26 +02:00
0049-Allow-disabling-of-SHA1-signatures.patch Rebase to upstream version 3.0.8 2023-02-09 17:57:19 +01:00
0049-Selectively-disallow-SHA1-signatures.patch ELN: fix SHA1 signature patch again 2023-02-13 10:53:54 -05:00
0051-Support-different-R_BITS-lengths-for-KBKDF.patch Sync with RHEL - applying patches 2022-09-02 16:20:26 +02:00
0052-Allow-SHA1-in-seclevel-1-if-rh-allow-sha1-signatures.patch Allow MD5-SHA1 in LEGACY c-p to fix TLS 1.0 2022-04-27 12:24:38 +02:00
0052-Allow-SHA1-in-seclevel-2-if-rh-allow-sha1-signatures.patch Rebase ELN/RHEL patch for OpenSSL 3.0.8 2023-02-13 13:36:24 -05:00
0053-Add-SHA1-probes.patch Allow MD5-SHA1 in LEGACY c-p to fix TLS 1.0 2022-04-27 12:24:38 +02:00
0056-strcasecmp.patch Rebase to upstream version 3.0.8 2023-02-09 17:57:19 +01:00
0058-FIPS-limit-rsa-encrypt.patch Rebase to upstream version 3.0.8 2023-02-09 17:57:19 +01:00
0060-FIPS-KAT-signature-tests.patch Sync with RHEL - applying patches 2022-09-02 16:20:26 +02:00
0061-Deny-SHA-1-signature-verification-in-FIPS-provider.patch Sync with RHEL - applying patches 2022-09-02 16:20:26 +02:00
0062-fips-Expose-a-FIPS-indicator.patch Sync with RHEL - applying patches 2022-09-02 16:20:26 +02:00
0071-AES-GCM-performance-optimization.patch Sync with RHEL - applying patches 2022-09-02 16:20:26 +02:00
0072-ChaCha20-performance-optimizations-for-ppc64le.patch Sync with RHEL - applying patches 2022-09-02 16:20:26 +02:00
0073-FIPS-Use-OAEP-in-KATs-support-fixed-OAEP-seed.patch Sync with RHEL - applying patches 2022-09-02 16:20:26 +02:00
0074-FIPS-Use-digest_sign-digest_verify-in-self-test-eln.patch Update patches to make ELN build happy 2022-09-12 11:39:39 +02:00
0074-FIPS-Use-digest_sign-digest_verify-in-self-test.patch Sync with RHEL - applying patches 2022-09-02 16:20:26 +02:00
0075-FIPS-Use-FFDHE2048-in-self-test.patch Sync with RHEL - applying patches 2022-09-02 16:20:26 +02:00
0076-FIPS-140-3-DRBG.patch Sync with RHEL - applying patches 2022-09-02 16:20:26 +02:00
0077-FIPS-140-3-zeroization.patch Sync with RHEL - applying patches 2022-09-02 16:20:26 +02:00
0078-Add-FIPS-indicator-parameter-to-HKDF.patch Sync with RHEL - applying patches 2022-09-02 16:20:26 +02:00
0079-Fix-AES-GCM-on-Power-8-CPUs.patch Fix AES-GCM on Power 8 CPUs 2022-09-09 17:15:32 +02:00
0100-RSA-PKCS15-implicit-rejection.patch Rebase to upstream version 3.0.8 2023-02-09 17:57:19 +01:00
configuration-prefix.h Rebase to upstream version 3.0.0 2021-09-09 17:27:21 +02:00
configuration-switch.h Rebase to upstream version 3.0.0 2021-09-09 17:27:21 +02:00
fixpatch New upstream release from the 1.0.1 branch, ABI compatible 2012-02-07 13:46:42 +01:00
genpatches Rebase to upstream version 3.0.0 2021-09-09 17:27:21 +02:00
make-dummy-cert - abort if selftests failed and random number generator is polled 2009-06-30 11:17:45 +00:00
Makefile.certificate Makefile.certificate should not set serial to 0 by default 2015-12-04 14:36:15 +01:00
openssl.rpmlintrc Silence rpmlint false positives 2022-04-07 18:14:35 +02:00
openssl.spec - Upload new upstream sources without manually hobbling them. 2023-03-21 14:21:41 +01:00
opensslconf-new-warning.h auto-import openssl-0.9.7a-34 from openssl-0.9.7a-34.src.rpm 2004-09-09 09:49:16 +00:00
opensslconf-new.h minor upstream release 1.0.2f fixing security issues 2016-01-28 17:12:09 +01:00
README.FIPS update to upstream version 1.1.0b 2016-10-11 10:31:54 +02:00
renew-dummy-cert renew-dummy-cert: Fix long serial number renewal problem. 2018-05-04 09:17:27 +02:00
sources - Upload new upstream sources without manually hobbling them. 2023-03-21 14:21:41 +01:00

User guide for the FIPS Red Hat Enterprise Linux - OpenSSL Module
=================================================================

This package contains libraries which comprise the FIPS 140-2
Red Hat Enterprise Linux - OPENSSL Module.

The module files
================
/usr/lib[64]/libcrypto.so.1.1.0
/usr/lib[64]/libssl.so.1.1.0
/usr/lib[64]/.libcrypto.so.1.1.0.hmac
/usr/lib[64]/.libssl.so.1.1.0.hmac

Dependencies
============

The approved mode of operation requires kernel with /dev/urandom RNG running
with properties as defined in the security policy of the module. This is
provided by kernel packages with validated Red Hat Enterprise Linux Kernel
Crytographic Module.

Installation
============

The RPM package of the module can be installed by standard tools recommended
for installation of RPM packages on the Red Hat Enterprise Linux system (yum,
rpm, RHN remote management tool).

The RPM package dracut-fips must be installed for the approved mode of
operation.

Usage and API
=============

The module respects kernel command line FIPS setting. If the kernel command
line contains option fips=1 the module will initialize in the FIPS approved
mode of operation automatically. To allow for the automatic initialization the
application using the module has to call one of the following API calls:

- void OPENSSL_init_library(void) - this will do only a basic initialization
of the library and does initialization of the FIPS approved mode without setting
up EVP API with supported algorithms.

- void OPENSSL_add_all_algorithms(void) - this API function calls
OPENSSL_init() implicitly and also adds all approved algorithms to the EVP API
in the approved mode 

- void SSL_library_init(void) - it calls OPENSSL_init() implicitly and also
adds algorithms which are necessary for TLS protocol support and initializes
the SSL library.

To explicitely put the library to the approved mode the application can call
the following function:

- int FIPS_mode_set(int on) - if called with 1 as a parameter it will switch
the library from the non-approved to the approved mode. If any of the selftests
and integrity verification tests fail, the library is put into the error state
and 0 is returned. If they succeed the return value is 1.

To query the module whether it is in the approved mode or not:

- int FIPS_mode(void) - returns 1 if the module is in the approved mode,
0 otherwise.

To query whether the module is in the error state:

- int FIPS_selftest_failed(void) - returns 1 if the module is in the error
state, 0 otherwise.

To zeroize the FIPS RNG key and internal state the application calls:

- void RAND_cleanup(void)