]> git.ipfire.org Git - thirdparty/gnutls.git/commitdiff
SHA-1 cannot be CAVP tested anymore. Thus, Mark it as not approved for signature...
authorAngel Yankov <angel.yankov@suse.com>
Thu, 28 Nov 2024 09:02:07 +0000 (11:02 +0200)
committerAngel Yankov <angel.yankov@suse.com>
Wed, 26 Mar 2025 06:53:52 +0000 (08:53 +0200)
Signed-off-by: Angel Yankov <angel.yankov@suse.com>
lib/nettle/pk.c
lib/pubkey.c
tests/fips-test.c

index 769cd274a10ebbd5fe9eb9424e33efb340ae0b6b..d9451cb4658838feae2f1a1a3c001d1888b7dbd4 100644 (file)
@@ -2783,10 +2783,7 @@ static int _wrap_nettle_pk_verify(gnutls_pk_algorithm_t algo,
                if (hash_len > vdata->size)
                        hash_len = vdata->size;
 
-               /* SHA-1 is allowed for SigVer in FIPS 140-3 in legacy
-                        * mode */
                switch (DIG_TO_MAC(sign_params->dsa_dig)) {
-               case GNUTLS_MAC_SHA1:
                case GNUTLS_MAC_SHA256:
                case GNUTLS_MAC_SHA384:
                case GNUTLS_MAC_SHA512:
@@ -2856,7 +2853,7 @@ static int _wrap_nettle_pk_verify(gnutls_pk_algorithm_t algo,
                bits = mpz_sizeinbase(pub.n, 2);
 
                /* In FIPS 140-3, RSA key size should be larger than 2048-bit.
-                        * In addition to this, only SHA-1 and SHA-2 are allowed
+                        * In addition to this, only SHA-2 is allowed
                         * for SigVer; it is checked in _pkcs1_rsa_verify_sig in
                         * lib/pubkey.c.
                         */
@@ -2902,7 +2899,7 @@ static int _wrap_nettle_pk_verify(gnutls_pk_algorithm_t algo,
                }
 
                /* RSA modulus size should be 2048-bit or larger in FIPS
-                        * 140-3.  In addition to this, only SHA-1 and SHA-2 are
+                        * 140-3.  In addition to this, only SHA-2 are
                         * allowed for SigVer, while Nettle only supports
                         * SHA256, SHA384, and SHA512 for RSA-PSS (see
                         * _rsa_pss_verify_digest in this file for the details).
index 1e5ecf31cd8d759d9f7ee47aedf04c9f146ec2ba..811e5310ba7065eda1130b4d92f1bbb326df3b24 100644 (file)
@@ -2516,10 +2516,7 @@ static int _pkcs1_rsa_verify_sig(gnutls_pk_algorithm_t pk,
        d.size = digest_size;
 
        if (pk == GNUTLS_PK_RSA) {
-               /* SHA-1 is allowed for SigVer in FIPS 140-3 in legacy
-                * mode */
                switch (me->id) {
-               case GNUTLS_MAC_SHA1:
                case GNUTLS_MAC_SHA256:
                case GNUTLS_MAC_SHA384:
                case GNUTLS_MAC_SHA512:
index 3af4df7190ee66f003d8ead3bf34086298ced1a1..c02442737fe042d0964e7cb8f3b982886d41276f 100644 (file)
@@ -596,7 +596,7 @@ void doit(void)
        }
        FIPS_POP_CONTEXT(NOT_APPROVED);
 
-       /* Verify a signature created with 2432-bit RSA and SHA-1; approved */
+       /* Verify a signature created with 2432-bit RSA and SHA-1; not approved */
        FIPS_PUSH_CONTEXT();
        ret = gnutls_pubkey_verify_data2(pubkey, GNUTLS_SIGN_RSA_SHA1,
                                         GNUTLS_VERIFY_ALLOW_SIGN_WITH_SHA1,
@@ -604,7 +604,7 @@ void doit(void)
        if (ret < 0) {
                fail("gnutls_pubkey_verify_data2 failed\n");
        }
-       FIPS_POP_CONTEXT(APPROVED);
+       FIPS_POP_CONTEXT(NOT_APPROVED);
        gnutls_free(signature.data);
        gnutls_pubkey_deinit(pubkey);
        gnutls_privkey_deinit(privkey);
@@ -707,7 +707,7 @@ void doit(void)
        }
        FIPS_POP_CONTEXT(NOT_APPROVED);
 
-       /* Verify a signature created with ECDSA and SHA-1; approved */
+       /* Verify a signature created with ECDSA and SHA-1; not approved */
        FIPS_PUSH_CONTEXT();
        ret = gnutls_pubkey_verify_data2(pubkey, GNUTLS_SIGN_ECDSA_SHA1,
                                         GNUTLS_VERIFY_ALLOW_SIGN_WITH_SHA1,
@@ -715,7 +715,7 @@ void doit(void)
        if (ret < 0) {
                fail("gnutls_pubkey_verify_data2 failed\n");
        }
-       FIPS_POP_CONTEXT(APPROVED);
+       FIPS_POP_CONTEXT(NOT_APPROVED);
        gnutls_free(signature.data);
 
        /* Create a signature with ECDSA and SHA-1 (old API); not approved */