Resolves: RHEL-61265
Allow RSA-OAEP in Fips mode Add the algorithm to fips_algorythms and add additional checks.
This commit is contained in:
parent
2bd02ed0de
commit
62dd857c3f
@ -20,6 +20,7 @@ typedef enum {
|
|||||||
SFTKFIPSChkHash, /* make sure the base hash of KDF functions is FIPS */
|
SFTKFIPSChkHash, /* make sure the base hash of KDF functions is FIPS */
|
||||||
SFTKFIPSChkHashTls, /* make sure the base hash of TLS KDF functions is FIPS */
|
SFTKFIPSChkHashTls, /* make sure the base hash of TLS KDF functions is FIPS */
|
||||||
SFTKFIPSChkHashSp800, /* make sure the base hash of SP-800-108 KDF functions is FIPS */
|
SFTKFIPSChkHashSp800, /* make sure the base hash of SP-800-108 KDF functions is FIPS */
|
||||||
|
SFTKFIPSRSAOAEP, /* make sure that both hashes use the same FIPS compliant algorithm */
|
||||||
} SFTKFIPSSpecialClass;
|
} SFTKFIPSSpecialClass;
|
||||||
|
|
||||||
/* set according to your security policy */
|
/* set according to your security policy */
|
||||||
@ -79,6 +80,7 @@ SFTKFIPSAlgorithmList sftk_fips_mechs[] = {
|
|||||||
#define AES_FB_KEY 128, 256
|
#define AES_FB_KEY 128, 256
|
||||||
#define AES_FB_STEP 64
|
#define AES_FB_STEP 64
|
||||||
{ CKM_RSA_PKCS_KEY_PAIR_GEN, { RSA_FB_KEY, CKF_KPG }, RSA_FB_STEP, SFTKFIPSNone },
|
{ CKM_RSA_PKCS_KEY_PAIR_GEN, { RSA_FB_KEY, CKF_KPG }, RSA_FB_STEP, SFTKFIPSNone },
|
||||||
|
{ CKM_RSA_PKCS_OAEP, { RSA_FB_KEY, CKF_ENC }, RSA_FB_STEP, SFTKFIPSRSAOAEP },
|
||||||
|
|
||||||
/* -------------- RSA Multipart Signing Operations -------------------- */
|
/* -------------- RSA Multipart Signing Operations -------------------- */
|
||||||
{ CKM_SHA224_RSA_PKCS, { RSA_FB_KEY, CKF_SGN }, RSA_FB_STEP, SFTKFIPSNone },
|
{ CKM_SHA224_RSA_PKCS, { RSA_FB_KEY, CKF_SGN }, RSA_FB_STEP, SFTKFIPSNone },
|
||||||
|
20
nss-3.101-allow-fips-rsa-oaep.patch
Normal file
20
nss-3.101-allow-fips-rsa-oaep.patch
Normal file
@ -0,0 +1,20 @@
|
|||||||
|
diff -up ./lib/softoken/pkcs11u.c.fipsrsaoaep ./lib/softoken/pkcs11u.c
|
||||||
|
--- ./lib/softoken/pkcs11u.c.fipsrsaoaep 2024-10-24 09:27:17.971673855 +0200
|
||||||
|
+++ ./lib/softoken/pkcs11u.c 2024-10-24 09:23:35.006352872 +0200
|
||||||
|
@@ -2565,6 +2565,16 @@ sftk_handleSpecial(SFTKSlot *slot, CK_ME
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return sftk_checkKeyLength(targetKeyLength, 112, 512, 1);
|
||||||
|
+ case SFTKFIPSRSAOAEP:
|
||||||
|
+ CK_RSA_PKCS_OAEP_PARAMS *rsaoaep = (CK_RSA_PKCS_OAEP_PARAMS *)
|
||||||
|
+ mech->pParameter;
|
||||||
|
+
|
||||||
|
+ HASH_HashType hash_msg = sftk_GetHashTypeFromMechanism(rsaoaep->hashAlg);
|
||||||
|
+ HASH_HashType hash_pad = sftk_GetHashTypeFromMechanism(rsaoaep->mgf);
|
||||||
|
+ /* message hash and mask generation function must be the same */
|
||||||
|
+ if (hash_pad != hash_msg) return PR_FALSE;
|
||||||
|
+
|
||||||
|
+ return sftk_checkFIPSHash(rsaoaep->hashAlg, PR_FALSE, PR_FALSE);
|
||||||
|
default:
|
||||||
|
break;
|
||||||
|
}
|
8
nss.spec
8
nss.spec
@ -3,7 +3,7 @@
|
|||||||
# NOTE: To avoid NVR clashes of nspr* packages:
|
# NOTE: To avoid NVR clashes of nspr* packages:
|
||||||
# - reset %%{nspr_release} to 1, when updating %%{nspr_version}
|
# - reset %%{nspr_release} to 1, when updating %%{nspr_version}
|
||||||
# - increment %%{nspr_version}, when updating the NSS part only
|
# - increment %%{nspr_version}, when updating the NSS part only
|
||||||
%global baserelease 11
|
%global baserelease 12
|
||||||
%global nss_release %baserelease
|
%global nss_release %baserelease
|
||||||
# use "%%global nspr_release %%[%%baserelease+n]" to handle offsets when
|
# use "%%global nspr_release %%[%%baserelease+n]" to handle offsets when
|
||||||
# release number between nss and nspr are different.
|
# release number between nss and nspr are different.
|
||||||
@ -197,6 +197,9 @@ Patch89: nss-3.101-fips-check-ec25519-size.patch
|
|||||||
Patch90: nss-3.101-disable_dsa.patch
|
Patch90: nss-3.101-disable_dsa.patch
|
||||||
Patch91: nss-3.101-replace-xyber_with-mlkem.patch
|
Patch91: nss-3.101-replace-xyber_with-mlkem.patch
|
||||||
|
|
||||||
|
# Allow rsa-oaep in fips mode
|
||||||
|
Patch95: nss-3.101-allow-fips-rsa-oaep.patch
|
||||||
|
|
||||||
# NSS reverse patches
|
# NSS reverse patches
|
||||||
Patch300: nss-3.79-distrusted-certs.patch
|
Patch300: nss-3.79-distrusted-certs.patch
|
||||||
|
|
||||||
@ -1171,6 +1174,9 @@ fi
|
|||||||
|
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Thu Nov 11 2024 Frantisek Krenzelok <krenzelok.frantisek@gmail.com> - 3.101.0-12
|
||||||
|
- Allow RSA-OAEP in FIPS mode
|
||||||
|
|
||||||
* Mon Nov 11 2024 Frantisek Krenzelok <fkrenzel@redhat.com> - 3.101.0-11
|
* Mon Nov 11 2024 Frantisek Krenzelok <fkrenzel@redhat.com> - 3.101.0-11
|
||||||
- fips check ed25519 key size.
|
- fips check ed25519 key size.
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user