int main() { LHASH *conf; long eline; char *s; #ifdef USE_WIN32 CONF_set_default_method(CONF_WIN32); #endif conf = CONF_load(NULL, "ssleay.cnf", &eline); if (conf == NULL) { ERR_load_crypto_strings(); printf("unable to load configuration, line %ld\n", eline); ERR_print_errors_fp(stderr); exit(1); } lh_stats(conf, stdout); lh_node_stats(conf, stdout); lh_node_usage_stats(conf, stdout); s = CONF_get_string(conf, NULL, "init2"); printf("init2=%s\n", (s == NULL) ? "NULL" : s); s = CONF_get_string(conf, NULL, "cipher1"); printf("cipher1=%s\n", (s == NULL) ? "NULL" : s); s = CONF_get_string(conf, "s_client", "cipher1"); printf("s_client:cipher1=%s\n", (s == NULL) ? "NULL" : s); printf("---------------------------- DUMP ------------------------\n"); CONF_dump_fp(conf, stdout); return 0; }
main() { LHASH *conf; char buf[256]; int i; conf = lh_new(lh_strhash, strcmp); for (;;) { char *p; buf[0] = '\0'; fgets(buf, 256, stdin); if (buf[0] == '\0') break; i = strlen(buf); p = OPENSSL_malloc(i + 1); memcpy(p, buf, i + 1); lh_insert(conf, p); } lh_node_stats(conf, stdout); lh_stats(conf, stdout); lh_node_usage_stats(conf, stdout); exit(0); }
main() { LHASH *conf; long eline; char *s,*s2; #ifdef USE_WIN32 CONF_set_default_method(CONF_WIN32); #endif conf=CONF_load(NULL,"ssleay.cnf",&eline); if (conf == NULL) { ERR_load_crypto_strings(); TINYCLR_SSL_PRINTF("unable to load configuration, line %ld\n",eline); ERR_print_errors_fp(OPENSSL_TYPE__FILE_STDERR); TINYCLR_SSL_EXIT(1); } lh_stats(conf,OPENSSL_TYPE__FILE_STDOUT); lh_node_stats(conf,OPENSSL_TYPE__FILE_STDOUT); lh_node_usage_stats(conf,OPENSSL_TYPE__FILE_STDOUT); s=CONF_get_string(conf,NULL,"init2"); TINYCLR_SSL_PRINTF("init2=%s\n",(s == NULL)?"NULL":s); s=CONF_get_string(conf,NULL,"cipher1"); TINYCLR_SSL_PRINTF("cipher1=%s\n",(s == NULL)?"NULL":s); s=CONF_get_string(conf,"s_client","cipher1"); TINYCLR_SSL_PRINTF("s_client:cipher1=%s\n",(s == NULL)?"NULL":s); TINYCLR_SSL_PRINTF("---------------------------- DUMP ------------------------\n"); CONF_dump_fp(conf, OPENSSL_TYPE__FILE_STDOUT); TINYCLR_SSL_EXIT(0); }
main() { LHASH *conf; char buf[256]; int i; conf=lh_new(lh_strhash,TINYCLR_SSL_STRCMP); for (;;) { char *p; buf[0]='\0'; TINYCLR_SSL_FGETS(buf,256,OPENSSL_TYPE__FILE_STDIN); if (buf[0] == '\0') break; i=TINYCLR_SSL_STRLEN(buf); p=OPENSSL_malloc(i+1); TINYCLR_SSL_MEMCPY(p,buf,i+1); lh_insert(conf,p); } lh_node_stats(conf,OPENSSL_TYPE__FILE_STDOUT); lh_stats(conf,OPENSSL_TYPE__FILE_STDOUT); lh_node_usage_stats(conf,OPENSSL_TYPE__FILE_STDOUT); TINYCLR_SSL_EXIT(0); }
int main(int argc, char *argv[]) { char *CApath = NULL, *CAfile = NULL; int badop = 0; int ret = 1; int client_auth = 0; int server_auth = 0; SSL_CTX *s_ctx = NULL; SSL_CTX *c_ctx = NULL; char *scert = TEST_SERVER_CERT; char *ccert = TEST_CLIENT_CERT; SSL_METHOD *ssl_method = SSLv23_method(); RAND_seed(rnd_seed, sizeof rnd_seed); if (bio_err == NULL) bio_err = BIO_new_fp(stderr, BIO_NOCLOSE); if (bio_stdout == NULL) bio_stdout = BIO_new_fp(stdout, BIO_NOCLOSE); argc--; argv++; while (argc >= 1) { if (sgx_strcmp(*argv, "-server_auth") == 0) server_auth = 1; else if (sgx_strcmp(*argv, "-client_auth") == 0) client_auth = 1; else if (sgx_strcmp(*argv, "-reconnect") == 0) reconnect = 1; else if (sgx_strcmp(*argv, "-stats") == 0) cache_stats = 1; else if (sgx_strcmp(*argv, "-ssl3") == 0) ssl_method = SSLv3_method(); else if (sgx_strcmp(*argv, "-ssl2") == 0) ssl_method = SSLv2_method(); else if (sgx_strcmp(*argv, "-CApath") == 0) { if (--argc < 1) goto bad; CApath = *(++argv); } else if (sgx_strcmp(*argv, "-CAfile") == 0) { if (--argc < 1) goto bad; CAfile = *(++argv); } else if (sgx_strcmp(*argv, "-cert") == 0) { if (--argc < 1) goto bad; scert = *(++argv); } else if (sgx_strcmp(*argv, "-ccert") == 0) { if (--argc < 1) goto bad; ccert = *(++argv); } else if (sgx_strcmp(*argv, "-threads") == 0) { if (--argc < 1) goto bad; thread_number = atoi(*(++argv)); if (thread_number == 0) thread_number = 1; if (thread_number > MAX_THREAD_NUMBER) thread_number = MAX_THREAD_NUMBER; } else if (sgx_strcmp(*argv, "-loops") == 0) { if (--argc < 1) goto bad; number_of_loops = atoi(*(++argv)); if (number_of_loops == 0) number_of_loops = 1; } else { fprintf(stderr, "unknown option %s\n", *argv); badop = 1; break; } argc--; argv++; } if (badop) { bad: sv_usage(); goto end; } if (cipher == NULL && OPENSSL_issetugid() == 0) cipher = getenv("SSL_CIPHER"); SSL_load_error_strings(); OpenSSL_add_ssl_algorithms(); c_ctx = SSL_CTX_new(ssl_method); s_ctx = SSL_CTX_new(ssl_method); if ((c_ctx == NULL) || (s_ctx == NULL)) { ERR_print_errors(bio_err); goto end; } SSL_CTX_set_session_cache_mode(s_ctx, SSL_SESS_CACHE_NO_AUTO_CLEAR | SSL_SESS_CACHE_SERVER); SSL_CTX_set_session_cache_mode(c_ctx, SSL_SESS_CACHE_NO_AUTO_CLEAR | SSL_SESS_CACHE_SERVER); if (!SSL_CTX_use_certificate_file(s_ctx, scert, SSL_FILETYPE_PEM)) { ERR_print_errors(bio_err); } else if (!SSL_CTX_use_RSAPrivateKey_file(s_ctx, scert, SSL_FILETYPE_PEM)) { ERR_print_errors(bio_err); goto end; } if (client_auth) { SSL_CTX_use_certificate_file(c_ctx, ccert, SSL_FILETYPE_PEM); SSL_CTX_use_RSAPrivateKey_file(c_ctx, ccert, SSL_FILETYPE_PEM); } if ((!SSL_CTX_load_verify_locations(s_ctx, CAfile, CApath)) || (!SSL_CTX_set_default_verify_paths(s_ctx)) || (!SSL_CTX_load_verify_locations(c_ctx, CAfile, CApath)) || (!SSL_CTX_set_default_verify_paths(c_ctx))) { fprintf(stderr, "SSL_load_verify_locations\n"); ERR_print_errors(bio_err); goto end; } if (client_auth) { fprintf(stderr, "client authentication\n"); SSL_CTX_set_verify(s_ctx, SSL_VERIFY_PEER | SSL_VERIFY_FAIL_IF_NO_PEER_CERT, verify_callback); } if (server_auth) { fprintf(stderr, "server authentication\n"); SSL_CTX_set_verify(c_ctx, SSL_VERIFY_PEER, verify_callback); } thread_setup(); do_threads(s_ctx, c_ctx); thread_cleanup(); end: if (c_ctx != NULL) { fprintf(stderr, "Client SSL_CTX stats then free it\n"); print_stats(stderr, c_ctx); SSL_CTX_free(c_ctx); } if (s_ctx != NULL) { fprintf(stderr, "Server SSL_CTX stats then free it\n"); print_stats(stderr, s_ctx); if (cache_stats) { fprintf(stderr, "-----\n"); lh_stats(SSL_CTX_sessions(s_ctx), stderr); fprintf(stderr, "-----\n"); /*- lh_node_stats(SSL_CTX_sessions(s_ctx),stderr); fprintf(stderr,"-----\n"); */ lh_node_usage_stats(SSL_CTX_sessions(s_ctx), stderr); fprintf(stderr, "-----\n"); } SSL_CTX_free(s_ctx); fprintf(stderr, "done free\n"); } exit(ret); return (0); }