* Changes: - Default encryption cipher for the req, cms, and smime applications changed from des-ede3-cbc to aes-256-cbc. - The default TLS supported groups list has been changed to include and prefer hybrid PQC KEM groups. Some practically unused groups were removed from the default list. - The default TLS keyshares have been changed to offer X25519MLKEM768 and and X25519. - All BIO_meth_get_*() functions were deprecated. * New features: - Support for server side QUIC (RFC 9000) - Support for 3rd party QUIC stacks including 0-RTT support - Support for PQC algorithms (ML-KEM, ML-DSA and SLH-DSA) - A new configuration option no-tls-deprecated-ec to disable support for TLS groups deprecated in RFC8422 - A new configuration option enable-fips-jitter to make the FIPS provider to use the JITTER seed source - Support for central key generation in CMP - Support added for opaque symmetric key objects (EVP_SKEY) - Support for multiple TLS keyshares and improved TLS key establishment group configurability - API support for pipelining in provided cipher algorithms * Remove patches: - openssl-3-disable-hmac-hw-acceleration-with-engine-digest.patch - openssl-3-support-CPACF-sha3-shake-perf-improvement.patch - openssl-3-add-defines-CPACF-funcs.patch - openssl-3-fix-memleak-s390x_HMAC_CTX_copy.patch - openssl-3-add-xof-state-handling-s3_absorb.patch - openssl-3-fix-state-handling-sha3_absorb_s390x.patch OBS-URL: https://build.opensuse.org/package/show/security:tls/openssl-3?expand=0&rev=139
80 lines
2.6 KiB
Diff
80 lines
2.6 KiB
Diff
From 22c5e2dc99406629b2c37c1ddf1151d6fb8ad7d1 Mon Sep 17 00:00:00 2001
|
|
From: rpm-build <rpm-build>
|
|
Date: Wed, 6 Mar 2024 19:17:15 +0100
|
|
Subject: [PATCH 22/53] FIPS: Force fips provider on
|
|
|
|
Patch-name: 0032-Force-fips.patch
|
|
Patch-id: 32
|
|
Patch-status: |
|
|
# # We load FIPS provider and set FIPS properties implicitly
|
|
From-dist-git-commit: 4334bc837fbc64d14890fdc51679a80770d498ce
|
|
---
|
|
crypto/provider_conf.c | 30 +++++++++++++++++++++++++++++-
|
|
1 file changed, 29 insertions(+), 1 deletion(-)
|
|
|
|
diff --git a/crypto/provider_conf.c b/crypto/provider_conf.c
|
|
index 5ec50f97e4..a2a9786e1c 100644
|
|
--- a/crypto/provider_conf.c
|
|
+++ b/crypto/provider_conf.c
|
|
@@ -10,6 +10,8 @@
|
|
#include <string.h>
|
|
#include <openssl/trace.h>
|
|
#include <openssl/err.h>
|
|
+#include <openssl/evp.h>
|
|
+#include <unistd.h>
|
|
#include <openssl/conf.h>
|
|
#include <openssl/safestack.h>
|
|
#include <openssl/provider.h>
|
|
@@ -237,7 +239,7 @@ static int provider_conf_activate(OSSL_LIB_CTX *libctx, const char *name,
|
|
if (path != NULL)
|
|
ossl_provider_set_module_path(prov, path);
|
|
|
|
- ok = provider_conf_params(prov, NULL, NULL, value, cnf);
|
|
+ ok = cnf ? provider_conf_params(prov, NULL, NULL, value, cnf) : 1;
|
|
|
|
if (ok == 1) {
|
|
if (!ossl_provider_activate(prov, 1, 0)) {
|
|
@@ -266,6 +268,8 @@ static int provider_conf_activate(OSSL_LIB_CTX *libctx, const char *name,
|
|
|
|
if (ok <= 0)
|
|
ossl_provider_free(prov);
|
|
+ } else {
|
|
+ ok = 1;
|
|
}
|
|
CRYPTO_THREAD_unlock(pcgbl->lock);
|
|
|
|
@@ -420,6 +424,30 @@ static int provider_conf_init(CONF_IMODULE *md, const CONF *cnf)
|
|
return 0;
|
|
}
|
|
|
|
+ if (ossl_get_kernel_fips_flag() != 0) { /* XXX from provider_conf_load */
|
|
+ OSSL_LIB_CTX *libctx = NCONF_get0_libctx((CONF *)cnf);
|
|
+# define FIPS_LOCAL_CONF OPENSSLDIR "/fips_local.cnf"
|
|
+
|
|
+ if (access(FIPS_LOCAL_CONF, R_OK) == 0) {
|
|
+ CONF *fips_conf = NCONF_new_ex(libctx, NCONF_default());
|
|
+ if (NCONF_load(fips_conf, FIPS_LOCAL_CONF, NULL) <= 0)
|
|
+ return 0;
|
|
+
|
|
+ if (provider_conf_load(libctx, "fips", "fips_sect", fips_conf) != 1) {
|
|
+ NCONF_free(fips_conf);
|
|
+ return 0;
|
|
+ }
|
|
+ NCONF_free(fips_conf);
|
|
+ } else {
|
|
+ if (provider_conf_activate(libctx, "fips", NULL, NULL, 0, NULL) != 1)
|
|
+ return 0;
|
|
+ }
|
|
+ if (provider_conf_activate(libctx, "base", NULL, NULL, 0, NULL) != 1)
|
|
+ return 0;
|
|
+ if (EVP_default_properties_enable_fips(libctx, 1) != 1)
|
|
+ return 0;
|
|
+ }
|
|
+
|
|
return 1;
|
|
}
|
|
|
|
--
|
|
2.49.0
|
|
|