Pedro Monreal Gonzalez
6bc57d937f
* SHA-1 is not allowed anymore in FIPS 186-5 for signature verification operations. After 12/31/2030, NIST will disallow SHA-1 for all of its usages. * Add openssl-3-FIPS-Deny-SHA-1-sigver-in-FIPS-provider.patch - FIPS: RSA keygen PCT requirements. * Skip the rsa_keygen_pairwise_test() PCT in rsa_keygen() as the self-test requirements are covered by do_rsa_pct() for both RSA-OAEP and RSA signatures [bsc#1221760] * Enforce error state if rsa_keygen PCT is run and fails [bsc#1221753] * Add openssl-3-FIPS-PCT_rsa_keygen.patch - FIPS: Check that the fips provider is available before setting it as the default provider in FIPS mode. [bsc#1220523] * Rebase openssl-Force-FIPS.patch - FIPS: Port openssl to use jitterentropy [bsc#1220523] * Set the module in error state if the jitter RNG fails either on initialization or entropy gathering because health tests failed. * Add jitterentropy as a seeding source output also in crypto/info.c * Move the jitter entropy collector and the associated lock out of the header file to avoid redefinitions. * Add the fips_local.cnf symlink to the spec file. This simlink points to the openssl_fips.config file that is provided by the crypto-policies package. * Rebase openssl-3-jitterentropy-3.4.0.patch * Rebase openssl-FIPS-enforce-EMS-support.patch - FIPS: Block non-Approved Elliptic Curves [bsc#1221786] OBS-URL: https://build.opensuse.org/package/show/security:tls/openssl-3?expand=0&rev=110
82 lines
2.7 KiB
Diff
82 lines
2.7 KiB
Diff
Index: openssl-3.1.4/crypto/ffc/ffc_params.c
|
|
===================================================================
|
|
--- openssl-3.1.4.orig/crypto/ffc/ffc_params.c
|
|
+++ openssl-3.1.4/crypto/ffc/ffc_params.c
|
|
@@ -27,10 +27,10 @@ void ossl_ffc_params_init(FFC_PARAMS *pa
|
|
|
|
void ossl_ffc_params_cleanup(FFC_PARAMS *params)
|
|
{
|
|
- BN_free(params->p);
|
|
- BN_free(params->q);
|
|
- BN_free(params->g);
|
|
- BN_free(params->j);
|
|
+ BN_clear_free(params->p);
|
|
+ BN_clear_free(params->q);
|
|
+ BN_clear_free(params->g);
|
|
+ BN_clear_free(params->j);
|
|
OPENSSL_free(params->seed);
|
|
ossl_ffc_params_init(params);
|
|
}
|
|
Index: openssl-3.1.4/crypto/rsa/rsa_lib.c
|
|
===================================================================
|
|
--- openssl-3.1.4.orig/crypto/rsa/rsa_lib.c
|
|
+++ openssl-3.1.4/crypto/rsa/rsa_lib.c
|
|
@@ -155,8 +155,8 @@ void RSA_free(RSA *r)
|
|
|
|
CRYPTO_THREAD_lock_free(r->lock);
|
|
|
|
- BN_free(r->n);
|
|
- BN_free(r->e);
|
|
+ BN_clear_free(r->n);
|
|
+ BN_clear_free(r->e);
|
|
BN_clear_free(r->d);
|
|
BN_clear_free(r->p);
|
|
BN_clear_free(r->q);
|
|
Index: openssl-3.1.4/providers/implementations/kdfs/hkdf.c
|
|
===================================================================
|
|
--- openssl-3.1.4.orig/providers/implementations/kdfs/hkdf.c
|
|
+++ openssl-3.1.4/providers/implementations/kdfs/hkdf.c
|
|
@@ -118,7 +118,7 @@ static void kdf_hkdf_reset(void *vctx)
|
|
void *provctx = ctx->provctx;
|
|
|
|
ossl_prov_digest_reset(&ctx->digest);
|
|
- OPENSSL_free(ctx->salt);
|
|
+ OPENSSL_clear_free(ctx->salt, ctx->salt_len);
|
|
OPENSSL_free(ctx->prefix);
|
|
OPENSSL_free(ctx->label);
|
|
OPENSSL_clear_free(ctx->data, ctx->data_len);
|
|
Index: openssl-3.1.4/providers/implementations/kdfs/pbkdf2.c
|
|
===================================================================
|
|
--- openssl-3.1.4.orig/providers/implementations/kdfs/pbkdf2.c
|
|
+++ openssl-3.1.4/providers/implementations/kdfs/pbkdf2.c
|
|
@@ -92,7 +92,7 @@ static void *kdf_pbkdf2_new(void *provct
|
|
static void kdf_pbkdf2_cleanup(KDF_PBKDF2 *ctx)
|
|
{
|
|
ossl_prov_digest_reset(&ctx->digest);
|
|
- OPENSSL_free(ctx->salt);
|
|
+ OPENSSL_clear_free(ctx->salt, ctx->salt_len);
|
|
OPENSSL_clear_free(ctx->pass, ctx->pass_len);
|
|
memset(ctx, 0, sizeof(*ctx));
|
|
}
|
|
Index: openssl-3.1.4/crypto/ec/ec_lib.c
|
|
===================================================================
|
|
--- openssl-3.1.4.orig/crypto/ec/ec_lib.c
|
|
+++ openssl-3.1.4/crypto/ec/ec_lib.c
|
|
@@ -752,12 +752,16 @@ EC_POINT *EC_POINT_new(const EC_GROUP *g
|
|
|
|
void EC_POINT_free(EC_POINT *point)
|
|
{
|
|
+#ifdef FIPS_MODULE
|
|
+ EC_POINT_clear_free(point);
|
|
+#else
|
|
if (point == NULL)
|
|
return;
|
|
|
|
if (point->meth->point_finish != 0)
|
|
point->meth->point_finish(point);
|
|
OPENSSL_free(point);
|
|
+#endif
|
|
}
|
|
|
|
void EC_POINT_clear_free(EC_POINT *point)
|