Check FIPS status during sign/verify_md
Resolves: rhbz#2176145
This commit is contained in:
		
							parent
							
								
									80b16e463d
								
							
						
					
					
						commit
						828a5f801b
					
				
							
								
								
									
										46
									
								
								libgcrypt-1.10.0-fips-status-sign-verify.patch
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										46
									
								
								libgcrypt-1.10.0-fips-status-sign-verify.patch
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,46 @@ | ||||
| From 654d0dfa04993ebe28c0536d42f4bc6d87c28369 Mon Sep 17 00:00:00 2001 | ||||
| From: Jakub Jelen <jjelen@redhat.com> | ||||
| Date: Wed, 1 Mar 2023 17:14:00 +0100 | ||||
| Subject: [PATCH] visibility: Check FIPS operational status for MD+Sign | ||||
|  operation. | ||||
| 
 | ||||
| * src/visibility.c (gcry_pk_hash_sign): Check fips status before | ||||
| calling the operation itself. | ||||
| (gcry_pk_hash_verify): Ditto. | ||||
| 
 | ||||
| --
 | ||||
| 
 | ||||
| GnuPG-bug-id: 6396 | ||||
| Signed-off-by: Jakub Jelen <jjelen@redhat.com> | ||||
| ---
 | ||||
|  src/visibility.c | 7 +++++++ | ||||
|  1 file changed, 7 insertions(+) | ||||
| 
 | ||||
| diff --git a/src/visibility.c b/src/visibility.c
 | ||||
| index 73db3dea..1f17e147 100644
 | ||||
| --- a/src/visibility.c
 | ||||
| +++ b/src/visibility.c
 | ||||
| @@ -1050,6 +1050,11 @@ gcry_error_t
 | ||||
|  gcry_pk_hash_sign (gcry_sexp_t *result, const char *data_tmpl, gcry_sexp_t skey, | ||||
|                     gcry_md_hd_t hd, gcry_ctx_t ctx) | ||||
|  { | ||||
| +  if (!fips_is_operational ())
 | ||||
| +    {
 | ||||
| +      *result = NULL;
 | ||||
| +      return gpg_error (fips_not_operational ());
 | ||||
| +    }
 | ||||
|    return gpg_error (_gcry_pk_sign_md (result, data_tmpl, hd, skey, ctx)); | ||||
|  } | ||||
|   | ||||
| @@ -1065,6 +1070,8 @@ gcry_error_t
 | ||||
|  gcry_pk_hash_verify (gcry_sexp_t sigval, const char *data_tmpl, gcry_sexp_t pkey, | ||||
|                       gcry_md_hd_t hd, gcry_ctx_t ctx) | ||||
|  { | ||||
| +  if (!fips_is_operational ())
 | ||||
| +    return gpg_error (fips_not_operational ());
 | ||||
|    return gpg_error (_gcry_pk_verify_md (sigval, data_tmpl, hd, pkey, ctx)); | ||||
|  } | ||||
|   | ||||
| -- 
 | ||||
| 2.39.2 | ||||
| 
 | ||||
| @ -56,6 +56,8 @@ Patch17: libgcrypt-1.10.0-fips-indicator-md-hmac.patch | ||||
| # https://dev.gnupg.org/T6394 | ||||
| # https://dev.gnupg.org/T6397 | ||||
| Patch18: libgcrypt-1.10.0-fips-pct.patch | ||||
| # https://dev.gnupg.org/T6396 | ||||
| Patch19: libgcrypt-1.10.0-fips-status-sign-verify.patch | ||||
| 
 | ||||
| %global gcrylibdir %{_libdir} | ||||
| %global gcrysoname libgcrypt.so.20 | ||||
| @ -107,6 +109,7 @@ applications using libgcrypt. | ||||
| %patch16 -p1 | ||||
| %patch17 -p1 | ||||
| %patch18 -p1 | ||||
| %patch19 -p1 | ||||
| 
 | ||||
| %build | ||||
| # This package has a configure test which uses ASMs, but does not link the | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user