@@ -545,7 +545,7 @@ usage(char * const argv[])
545545{
546546 fprintf (stderr ,
547547 "Usage: %s [-t] [-v] [-q N] [-T time] [-n nonce_type:type_args]"
548- " [-l max_certs] [-L max_cert_dirs] [-C threads]"
548+ " [-l max_certs] [-L max_cert_dirs] [-E] [- C threads]"
549549 " [-V] certsdir [certsdir...] threadcount\n"
550550 "\t-t\tTerse output\n"
551551 "\t-v\tVerbose output. Multiple usage increases verbosity.\n"
@@ -563,6 +563,7 @@ usage(char * const argv[])
563563 "\t\tDefault: " OPENSSL_MSTR (MAX_LOAD_CERTS ) "\n"
564564 "\t-L\tLimit on the number of initially loaded certificate\n"
565565 "\t\tdirectories. Default: " OPENSSL_MSTR (MAX_LOAD_CERT_DIRS ) "\n"
566+ "\t-E\tDo not call X509_STORE_set_default_paths()\n"
566567 "\t-C\tNumber of threads that share the same X.509\n"
567568 "\t\tstore context object. Default: "
568569 OPENSSL_MSTR (CTX_SHARE_THREADS ) "\n"
@@ -635,11 +636,12 @@ main(int argc, char *argv[])
635636 size_t num_certs = 0 ;
636637 size_t max_load_certs = MAX_LOAD_CERTS ;
637638 int max_load_cert_dirs = MAX_LOAD_CERT_DIRS ;
639+ bool skip_default_paths = false;
638640 struct nonce_cfg nonce_cfg ;
639641
640642 parse_nonce_cfg (NONCE_CFG , & nonce_cfg );
641643
642- while ((opt = getopt (argc , argv , "tvq:T:n:l:L:C :V" )) != -1 ) {
644+ while ((opt = getopt (argc , argv , "tvq:T:n:l:L:EC :V" )) != -1 ) {
643645 switch (opt ) {
644646 case 't' : /* terse */
645647 verbosity = VERBOSITY_TERSE ;
@@ -671,6 +673,9 @@ main(int argc, char *argv[])
671673 "maximum certificate directories"
672674 " load count" );
673675 break ;
676+ case 'E' :
677+ skip_default_paths = true;
678+ break ;
674679 case 'C' : /* how many threads share X509_STORE_CTX */
675680 ctx_share_cnt = parse_int (optarg , 1 , INT_MAX ,
676681 "X509_STORE_CTX share degree" );
@@ -717,8 +722,12 @@ main(int argc, char *argv[])
717722 }
718723
719724 store = X509_STORE_new ();
720- if (store == NULL || ! X509_STORE_set_default_paths ( store ) )
725+ if (store == NULL )
721726 errx (EXIT_FAILURE , "Failed to create X509_STORE" );
727+ if (!skip_default_paths ) {
728+ if (!X509_STORE_set_default_paths (store ))
729+ errx (EXIT_FAILURE , "Failed to load certificates from default paths" );
730+ }
722731
723732 num_certs += read_certsdirs (argv + dirs_start , max_load_certs ,
724733 OSSL_MIN (argc - dirs_start - 1 ,
0 commit comments