コード例 #1
0
ファイル: conftest.c プロジェクト: TheTypoMaster/openssl
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;
}
コード例 #2
0
ファイル: lh_test.c プロジェクト: 1Project/SafeBoardMessenger
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);
}
コード例 #3
0
ファイル: test.cpp プロジェクト: EddieGarmon/netduino-netmf
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);
	}
コード例 #4
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);
	}
コード例 #5
0
ファイル: mttest.c プロジェクト: johnjohnsp1/opensgx
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);
}