Have all algorithm test programs call fips_algtest_init() at startup:
authorDr. Stephen Henson <steve@openssl.org>
Fri, 25 Mar 2011 16:36:46 +0000 (16:36 +0000)
committerDr. Stephen Henson <steve@openssl.org>
Fri, 25 Mar 2011 16:36:46 +0000 (16:36 +0000)
this will perform all standalone operations such as setting error
callbacks, entering FIPS mode etc.

18 files changed:
fips/aes/fips_aesavs.c
fips/aes/fips_gcmtest.c
fips/cmac/fips_cmactest.c
fips/des/fips_desmovs.c
fips/dh/fips_dhvs.c
fips/dsa/fips_dsatest.c
fips/dsa/fips_dssvs.c
fips/ecdh/fips_ecdhvs.c
fips/ecdsa/fips_ecdsavs.c
fips/fips_utl.h
fips/hmac/fips_hmactest.c
fips/rand/fips_drbgvs.c
fips/rand/fips_randtest.c
fips/rand/fips_rngvs.c
fips/rsa/fips_rsagtest.c
fips/rsa/fips_rsastest.c
fips/rsa/fips_rsavtest.c
fips/sha/fips_shatest.c

index c9e2ce3..72c2d09 100644 (file)
@@ -867,12 +867,8 @@ int main(int argc, char **argv)
     FILE *fp = NULL;
     char fn[250] = "", rfn[256] = "";
     int f_opt = 0, d_opt = 1;
-    fips_set_error_print();
+    fips_algtest_init();
 
-#ifdef OPENSSL_FIPS
-    if(!FIPS_mode_set(1))
-       EXIT(1);
-#endif
     if (argc > 1)
        {
        if (strcasecmp(argv[1], "-d") == 0)
index 5eb7e7f..7c9efe7 100644 (file)
@@ -292,9 +292,7 @@ int main(int argc,char **argv)
                fprintf(stderr,"%s [-encrypt|-decrypt]\n",argv[0]);
                exit(1);
                }
-       fips_set_error_print();
-       if(!FIPS_mode_set(1))
-               exit(1);
+       fips_algtest_init();
        if(!strcmp(argv[1],"-encrypt"))
                encrypt = 1;
        else if(!strcmp(argv[1],"-encryptIVext"))
index cc07265..c2da660 100644 (file)
@@ -102,9 +102,7 @@ int main(int argc, char **argv)
        int known_keylen = 0;   /* Only set when Klen_counts_keys = 1 */
        const EVP_CIPHER *cipher = 0;
        int ret = 1;
-       fips_set_error_print();
-       if(!FIPS_mode_set(1))
-               goto end;
+       fips_algtest_init();
 
        while (argc > 1 && argv[1][0] == '-')
                {
index 16b8dc1..88c3063 100644 (file)
@@ -633,11 +633,7 @@ int main(int argc, char **argv)
     char fn[250] = "", rfn[256] = "";
     int f_opt = 0, d_opt = 1;
 
-#ifdef OPENSSL_FIPS
-    fips_set_error_print();
-    if(!FIPS_mode_set(1))
-       EXIT(1);
-#endif
+    fips_algtest_init();
     if (argc > 1)
        {
        if (strcasecmp(argv[1], "-d") == 0)
index dc6a95c..ad760c8 100644 (file)
@@ -160,9 +160,7 @@ int main(int argc,char **argv)
        char *keyword = NULL, *value = NULL;
        int do_verify = -1, exout = 0;
 
-       fips_set_error_print();
-       if(!FIPS_mode_set(1))
-               exit(1);
+       fips_algtest_init();
 
        if (argn && !strcmp(*args, "dhver"))
                {
index 678e089..c5dd088 100644 (file)
@@ -156,9 +156,7 @@ int main(int argc, char **argv)
        BN_GENCB_set(&cb, dsa_cb, stderr);
        FIPS_md_ctx_init(&mctx);
 
-       fips_set_error_print();
-       if(!FIPS_mode_set(1))
-           EXIT(1);
+       fips_algtest_init();
 
        fprintf(stderr,"test generation of DSA parameters\n");
 
index ff97808..c5a5805 100644 (file)
@@ -626,9 +626,7 @@ int main(int argc,char **argv)
        fprintf(stderr,"%s [prime|pqg|pqgver|keypair|keyver|siggen|sigver]\n",argv[0]);
        exit(1);
        }
-    fips_set_error_print();
-    if(!FIPS_mode_set(1))
-       exit(1);
+    fips_algtest_init();
     if(!strcmp(argv[1],"prime"))
        primes(in, out);
     else if(!strcmp(argv[1],"pqg"))
index 38178f5..c3ee174 100644 (file)
@@ -291,9 +291,7 @@ int main(int argc,char **argv)
        int curve_nids[5] = {0,0,0,0,0};
        int param_set = -1;
 
-       fips_set_error_print();
-       if(!FIPS_mode_set(1))
-               exit(1);
+       fips_algtest_init();
 
        if (argn && !strcmp(*args, "ecdhver"))
                {
index 2492ee4..1245f85 100644 (file)
@@ -463,9 +463,7 @@ int main(int argc, char **argv)
        FILE *in = NULL, *out = NULL;
        const char *cmd = argv[1];
        int rv = 0;
-       fips_set_error_print();
-       if (!FIPS_mode_set(1))
-               exit(1);
+       fips_algtest_init();
 
        if (argc == 4)
                {
index 71147a2..3deb406 100644 (file)
@@ -63,6 +63,7 @@ int bint2bin(const char *in, int len, unsigned char *out);
 int bin2bint(const unsigned char *in,int len,char *out);
 void PrintValue(char *tag, unsigned char *val, int len);
 void OutputValue(char *tag, unsigned char *val, int len, FILE *rfp,int bitmode);
+void fips_algtest_init(void);
 
 static int no_err;
 
@@ -97,6 +98,16 @@ static void fips_set_error_print(void)
        FIPS_set_error_callbacks(put_err_cb, add_err_cb);
        }
 
+void fips_algtest_init(void)
+       {
+       fips_set_error_print();
+       if (!FIPS_mode_set(1))
+               {
+               fprintf(stderr, "Error entering FIPS mode\n");
+               exit(1);
+               }
+       }
+
 int hex2bin(const char *in, unsigned char *out)
     {
     int n1, n2, isodd = 0;
index d1f0b4c..58e4a35 100644 (file)
@@ -90,9 +90,7 @@ int main(int argc, char **argv)
        FILE *in = NULL, *out = NULL;
 
        int ret = 1;
-       fips_set_error_print();
-       if(!FIPS_mode_set(1))
-               goto end;
+       fips_algtest_init();
 
        if (argc == 1)
                in = stdin;
index 53d4439..d3b47a0 100644 (file)
@@ -172,7 +172,7 @@ int main(int argc,char **argv)
 
        int gen = 0;
 
-       fips_set_error_print();
+       fips_algtest_init();
 
        if (argc == 3)
                {
index b211a03..3465bc3 100644 (file)
@@ -241,7 +241,7 @@ static void run_test(unsigned char *key, int keylen, AES_PRNG_MCT *tv)
 
 int main()
        {
-       fips_set_error_print();
+       fips_algtest_init();
        run_test(aes_128_mct_key, 16, &aes_128_mct_tv);
        printf("FIPS PRNG test 1 done\n");
        run_test(aes_192_mct_key, 24, &aes_192_mct_tv);
index 786f542..f858b6d 100644 (file)
@@ -226,9 +226,7 @@ int main(int argc,char **argv)
        fprintf(stderr,"%s [mct|vst]\n",argv[0]);
        exit(1);
        }
-    fips_set_error_print();
-    if(!FIPS_mode_set(1))
-       exit(1);
+    fips_algtest_init();
     FIPS_rand_reset();
     if (!FIPS_rand_test_mode())
        {
index 434d332..78b4531 100644 (file)
@@ -94,9 +94,7 @@ int main(int argc, char **argv)
 
        int ret = 1;
 
-       fips_set_error_print();
-       if(!FIPS_mode_set(1))
-               goto end;
+       fips_algtest_init();
 
        if (argc == 1)
                in = stdin;
index 2d66d92..7a3dd31 100644 (file)
@@ -91,9 +91,7 @@ int main(int argc, char **argv)
 
        int ret = 1, Saltlen = -1;
 
-       fips_set_error_print();
-       if(!FIPS_mode_set(1))
-               goto end;
+       fips_algtest_init();
 
        if ((argc > 2) && !strcmp("-saltlen", argv[1]))
                {
index 5886a19..dbf73be 100644 (file)
@@ -96,9 +96,7 @@ int main(int argc, char **argv)
        int ret = 1;
        int Saltlen = -1;
 
-       fips_set_error_print();
-       if(!FIPS_mode_set(1))
-               goto end;
+       fips_algtest_init();
 
        if ((argc > 2) && !strcmp("-saltlen", argv[1]))
                {
index e6d1a95..cdbf719 100644 (file)
@@ -91,9 +91,7 @@ int main(int argc, char **argv)
        FILE *in = NULL, *out = NULL;
 
        int ret = 1;
-       fips_set_error_print();
-       if(!FIPS_mode_set(1))
-               goto end;
+       fips_algtest_init();
 
        if (argc == 1)
                in = stdin;