summaryrefslogtreecommitdiff
path: root/src/lib/libssl/src/ssl/ssltest.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/libssl/src/ssl/ssltest.c')
-rw-r--r--src/lib/libssl/src/ssl/ssltest.c41
1 files changed, 31 insertions, 10 deletions
diff --git a/src/lib/libssl/src/ssl/ssltest.c b/src/lib/libssl/src/ssl/ssltest.c
index e786b428cd..f409f3dc76 100644
--- a/src/lib/libssl/src/ssl/ssltest.c
+++ b/src/lib/libssl/src/ssl/ssltest.c
@@ -231,6 +231,9 @@ static void sv_usage(void)
231 { 231 {
232 fprintf(stderr,"usage: ssltest [args ...]\n"); 232 fprintf(stderr,"usage: ssltest [args ...]\n");
233 fprintf(stderr,"\n"); 233 fprintf(stderr,"\n");
234#ifdef OPENSSL_FIPS
235 fprintf(stderr,"-F - run test in FIPS mode\n");
236#endif
234 fprintf(stderr," -server_auth - check server certificate\n"); 237 fprintf(stderr," -server_auth - check server certificate\n");
235 fprintf(stderr," -client_auth - do client authentication\n"); 238 fprintf(stderr," -client_auth - do client authentication\n");
236 fprintf(stderr," -proxy - allow proxy certificates\n"); 239 fprintf(stderr," -proxy - allow proxy certificates\n");
@@ -412,7 +415,7 @@ int main(int argc, char *argv[])
412 long bytes=256L; 415 long bytes=256L;
413#ifndef OPENSSL_NO_DH 416#ifndef OPENSSL_NO_DH
414 DH *dh; 417 DH *dh;
415 int dhe1024 = 0, dhe1024dsa = 0; 418 int dhe1024 = 1, dhe1024dsa = 0;
416#endif 419#endif
417#ifndef OPENSSL_NO_ECDH 420#ifndef OPENSSL_NO_ECDH
418 EC_KEY *ecdh = NULL; 421 EC_KEY *ecdh = NULL;
@@ -427,6 +430,9 @@ int main(int argc, char *argv[])
427#endif 430#endif
428 STACK_OF(SSL_COMP) *ssl_comp_methods = NULL; 431 STACK_OF(SSL_COMP) *ssl_comp_methods = NULL;
429 int test_cipherlist = 0; 432 int test_cipherlist = 0;
433#ifdef OPENSSL_FIPS
434 int fips_mode=0;
435#endif
430 436
431 verbose = 0; 437 verbose = 0;
432 debug = 0; 438 debug = 0;
@@ -458,7 +464,16 @@ int main(int argc, char *argv[])
458 464
459 while (argc >= 1) 465 while (argc >= 1)
460 { 466 {
461 if (strcmp(*argv,"-server_auth") == 0) 467 if(!strcmp(*argv,"-F"))
468 {
469#ifdef OPENSSL_FIPS
470 fips_mode=1;
471#else
472 fprintf(stderr,"not compiled with FIPS support, so exitting without running.\n");
473 EXIT(0);
474#endif
475 }
476 else if (strcmp(*argv,"-server_auth") == 0)
462 server_auth=1; 477 server_auth=1;
463 else if (strcmp(*argv,"-client_auth") == 0) 478 else if (strcmp(*argv,"-client_auth") == 0)
464 client_auth=1; 479 client_auth=1;
@@ -640,6 +655,20 @@ bad:
640 EXIT(1); 655 EXIT(1);
641 } 656 }
642 657
658#ifdef OPENSSL_FIPS
659 if(fips_mode)
660 {
661 if(!FIPS_mode_set(1))
662 {
663 ERR_load_crypto_strings();
664 ERR_print_errors(BIO_new_fp(stderr,BIO_NOCLOSE));
665 EXIT(1);
666 }
667 else
668 fprintf(stderr,"*** IN FIPS MODE ***\n");
669 }
670#endif
671
643 if (print_time) 672 if (print_time)
644 { 673 {
645 if (!bio_pair) 674 if (!bio_pair)
@@ -2061,15 +2090,7 @@ static int MS_CALLBACK app_verify_callback(X509_STORE_CTX *ctx, void *arg)
2061 } 2090 }
2062 2091
2063#ifndef OPENSSL_NO_X509_VERIFY 2092#ifndef OPENSSL_NO_X509_VERIFY
2064# ifdef OPENSSL_FIPS
2065 if(s->version == TLS1_VERSION)
2066 FIPS_allow_md5(1);
2067# endif
2068 ok = X509_verify_cert(ctx); 2093 ok = X509_verify_cert(ctx);
2069# ifdef OPENSSL_FIPS
2070 if(s->version == TLS1_VERSION)
2071 FIPS_allow_md5(0);
2072# endif
2073#endif 2094#endif
2074 2095
2075 if (cb_arg->proxy_auth) 2096 if (cb_arg->proxy_auth)