Use 0 for tbslen to perform strlen.
[openssl.git] / crypto / rsa / rsa_gen.c
index e82a81b03ae62be387a9cdb794209735cf2a314f..484468da05e333d5f0403a3aa42a5d70ac5d9214 100644 (file)
@@ -62,6 +62,8 @@
  * - Geoff
  */
 
+#define OPENSSL_FIPSAPI
+
 #include <stdio.h>
 #include <time.h>
 #include "cryptlib.h"
 
 #ifdef OPENSSL_FIPS
 
-#define OPENSSL_FIPSAPI
 
 #include <openssl/fips.h>
 #include <openssl/evp.h>
 
-static int fips_rsa_pairwise_fail = 0;
-
-void FIPS_corrupt_rsa_keygen(void)
-       {
-       fips_rsa_pairwise_fail = 1;
-       }
-
 int fips_check_rsa(RSA *rsa)
        {
        const unsigned char tbs[] = "RSA Pairwise Check Data";
@@ -92,12 +86,12 @@ int fips_check_rsa(RSA *rsa)
        pk.pkey.rsa = rsa;
 
        /* Perform pairwise consistency signature test */
-       if (!fips_pkey_signature_test(&pk, tbs, -1,
-                       NULL, 0, EVP_sha1(), RSA_PKCS1_PADDING, NULL)
-               || !fips_pkey_signature_test(&pk, tbs, -1,
-                       NULL, 0, EVP_sha1(), RSA_X931_PADDING, NULL)
-               || !fips_pkey_signature_test(&pk, tbs, -1,
-                       NULL, 0, EVP_sha1(), RSA_PKCS1_PSS_PADDING, NULL))
+       if (!fips_pkey_signature_test(FIPS_TEST_PAIRWISE, &pk, tbs, 0,
+                       NULL, 0, NULL, RSA_PKCS1_PADDING, NULL)
+               || !fips_pkey_signature_test(FIPS_TEST_PAIRWISE, &pk, tbs, 0,
+                       NULL, 0, NULL, RSA_X931_PADDING, NULL)
+               || !fips_pkey_signature_test(FIPS_TEST_PAIRWISE, &pk, tbs, 0,
+                       NULL, 0, NULL, RSA_PKCS1_PSS_PADDING, NULL))
                goto err;
        /* Now perform pairwise consistency encrypt/decrypt test */
        ctbuf = OPENSSL_malloc(RSA_size(rsa));
@@ -289,9 +283,6 @@ static int rsa_builtin_keygen(RSA *rsa, int bits, BIGNUM *e_value, BN_GENCB *cb)
        if (!BN_mod_inverse(rsa->iqmp,rsa->q,p,ctx)) goto err;
 
 #ifdef OPENSSL_FIPS
-       if (fips_rsa_pairwise_fail)
-               BN_add_word(rsa->n, 1);
-
        if(!fips_check_rsa(rsa))
            goto err;
 #endif