pkeyutl ecdsa signature with sha1 shouldn't work by default
Resolves: RHEL-89861
This commit is contained in:
		
							parent
							
								
									6af659130e
								
							
						
					
					
						commit
						1d113921da
					
				
							
								
								
									
										58
									
								
								0052-Fixup-forbid-SHA1.patch
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										58
									
								
								0052-Fixup-forbid-SHA1.patch
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,58 @@ | ||||
| From a6b4af9d39e07457189147bd50fe6ee3e8e88b6d Mon Sep 17 00:00:00 2001 | ||||
| From: Dmitry Belyavskiy <beldmit@gmail.com> | ||||
| Date: Mon, 12 May 2025 14:28:00 +0200 | ||||
| Subject: [PATCH 52/54] Fixup - forbid SHA1 | ||||
| 
 | ||||
| ---
 | ||||
|  crypto/context.c                                | 6 ------ | ||||
|  providers/implementations/signature/ecdsa_sig.c | 5 ++--- | ||||
|  2 files changed, 2 insertions(+), 9 deletions(-) | ||||
| 
 | ||||
| diff --git a/crypto/context.c b/crypto/context.c
 | ||||
| index 6859146510..323615e300 100644
 | ||||
| --- a/crypto/context.c
 | ||||
| +++ b/crypto/context.c
 | ||||
| @@ -133,9 +133,6 @@ static void ossl_ctx_legacy_digest_signatures_free(void *vldsigs)
 | ||||
|  static void *ossl_ctx_legacy_digest_signatures_new(OSSL_LIB_CTX *ctx) | ||||
|  { | ||||
|      OSSL_LEGACY_DIGEST_SIGNATURES* ldsigs = OPENSSL_zalloc(sizeof(OSSL_LEGACY_DIGEST_SIGNATURES)); | ||||
| -    /* Warning: This patch differs from the same patch in CentOS and RHEL here,
 | ||||
| -     * because the default on Fedora is to allow SHA-1 and support disabling
 | ||||
| -     * it, while CentOS/RHEL disable it by default and allow enabling it. */
 | ||||
|      ldsigs->allowed = 0; | ||||
|      return ldsigs; | ||||
|  } | ||||
| @@ -770,9 +767,6 @@ int ossl_ctx_legacy_digest_signatures_allowed(OSSL_LIB_CTX *libctx, int loadconf
 | ||||
|           return 1; | ||||
|   #endif | ||||
|   | ||||
| -    /* Warning: This patch differs from the same patch in CentOS and RHEL here,
 | ||||
| -     * because the default on Fedora is to allow SHA-1 and support disabling
 | ||||
| -     * it, while CentOS/RHEL disable it by default and allow enabling it. */
 | ||||
|      return ldsigs != NULL ? ldsigs->allowed : 0; | ||||
|  } | ||||
|   | ||||
| diff --git a/providers/implementations/signature/ecdsa_sig.c b/providers/implementations/signature/ecdsa_sig.c
 | ||||
| index 34fb3aa56e..4d7c25728a 100644
 | ||||
| --- a/providers/implementations/signature/ecdsa_sig.c
 | ||||
| +++ b/providers/implementations/signature/ecdsa_sig.c
 | ||||
| @@ -198,14 +198,13 @@ static int ecdsa_setup_md(PROV_ECDSA_CTX *ctx,
 | ||||
|      } | ||||
|      md_nid = ossl_digest_get_approved_nid(md); | ||||
|   | ||||
| -#ifdef FIPS_MODULE
 | ||||
|      md_nid = rh_digest_signatures_allowed(ctx->libctx, md_nid); | ||||
| -    if (md_nid <= 0) {
 | ||||
| +    /* KECCAK-256 is explicitly allowed for ECDSA despite it doesn't have a NID*/
 | ||||
| +    if (md_nid <= 0 && !(EVP_MD_is_a(md, "KECCAK-256"))) {
 | ||||
|          ERR_raise_data(ERR_LIB_PROV, PROV_R_DIGEST_NOT_ALLOWED, | ||||
|                         "digest=%s", mdname); | ||||
|          goto err; | ||||
|      } | ||||
| -#endif
 | ||||
|   | ||||
|      /* XOF digests don't work */ | ||||
|      if (EVP_MD_xof(md)) { | ||||
| -- 
 | ||||
| 2.49.0 | ||||
| 
 | ||||
| @ -90,6 +90,7 @@ Patch0048: 0048-Current-Rebase-status.patch | ||||
| Patch0049: 0049-FIPS-KDF-key-lenght-errors.patch | ||||
| Patch0050: 0050-FIPS-fix-disallowed-digests-tests.patch | ||||
| Patch0051: 0051-Make-openssl-speed-run-in-FIPS-mode.patch | ||||
| Patch0052: 0052-Fixup-forbid-SHA1.patch | ||||
| 
 | ||||
| #The patches that are different for RHEL9 and 10 start here | ||||
| Patch0100: 0100-RHEL9-Allow-SHA1-in-seclevel-2-if-rh-allow-sha1-signatures.patch | ||||
| @ -433,6 +434,8 @@ ln -s /etc/crypto-policies/back-ends/openssl_fips.config $RPM_BUILD_ROOT%{_sysco | ||||
|   Resolves: RHEL-88912 | ||||
| - Fix `openssl speed` running in FIPS mode | ||||
|   Resolves: RHEL-89860 | ||||
| - pkeyutl ecdsa signature with sha1 shouldn't work by default | ||||
|   Resolves: RHEL-89861 | ||||
| 
 | ||||
| * Wed Apr 16 2025 Dmitry Belyavskiy <dbelyavs@redhat.com> - 1:3.5.0-1 | ||||
| - Rebasing OpenSSL to 3.5 | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user