这篇教程C++ ENGINE_get_first函数代码示例写得很实用,希望能帮到您。
本文整理汇总了C++中ENGINE_get_first函数的典型用法代码示例。如果您正苦于以下问题:C++ ENGINE_get_first函数的具体用法?C++ ENGINE_get_first怎么用?C++ ENGINE_get_first使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。 在下文中一共展示了ENGINE_get_first函数的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。 示例1: ENGINE_register_all_RANDvoid ENGINE_register_all_RAND (){ ENGINE *e; for (e = ENGINE_get_first (); e; e = ENGINE_get_next (e)) ENGINE_register_RAND (e);}
开发者ID:274914765,项目名称:C,代码行数:7,
示例2: ENGINE_register_all_ciphersvoid ENGINE_register_all_ciphers() { ENGINE *e; for(e=ENGINE_get_first() ; e ; e=ENGINE_get_next(e)) ENGINE_register_ciphers(e); }
开发者ID:AustinWise,项目名称:Netduino-Micro-Framework,代码行数:7,
示例3: openssl_engineint openssl_engine(lua_State *L){ const ENGINE* eng = NULL; if (lua_isstring(L, 1)) { const char* id = luaL_checkstring(L, 1); eng = ENGINE_by_id(id); } else if (lua_isboolean(L, 1)) { int first = lua_toboolean(L, 1); if (first) eng = ENGINE_get_first(); else eng = ENGINE_get_last(); } else luaL_error(L, "#1 may be string or boolean/n" "/tstring for an engine id to load/n" "/ttrue for first engine, false or last engine/n" "/tbut we get %s:%s", lua_typename(L, lua_type(L, 1)), lua_tostring(L, 1)); if (eng) { PUSH_OBJECT((void*)eng, "openssl.engine"); } else lua_pushnil(L); return 1;}
开发者ID:sdgdsffdsfff,项目名称:lua-openssl,代码行数:30,
示例4: ENGINE_register_all_pkey_asn1_methsvoid ENGINE_register_all_pkey_asn1_meths(void){ ENGINE *e; for (e = ENGINE_get_first(); e; e = ENGINE_get_next(e)) ENGINE_register_pkey_asn1_meths(e);}
开发者ID:DarovskikhAndrei,项目名称:openssl,代码行数:7,
示例5: ENGINE_register_all_STOREvoid ENGINE_register_all_STORE (){ ENGINE *e; for (e = ENGINE_get_first (); e; e = ENGINE_get_next (e)) ENGINE_register_STORE (e);}
开发者ID:274914765,项目名称:C,代码行数:7,
示例6: ENGINE_register_all_completeint ENGINE_register_all_complete(void) { ENGINE *e; for(e=ENGINE_get_first() ; e ; e=ENGINE_get_next(e)) ENGINE_register_complete(e); return 1; }
开发者ID:LucidOne,项目名称:Rovio,代码行数:8,
示例7: ENGINE_register_all_DHvoidENGINE_register_all_DH(void){ ENGINE *e; for (e = ENGINE_get_first(); e; e = ENGINE_get_next(e)) ENGINE_register_DH(e);}
开发者ID:randombit,项目名称:hacrypto,代码行数:8,
示例8: defined/* Return list of OpenSSL crypto engine names. */struct curl_slist *Curl_ossl_engines_list(struct SessionHandle *data){ struct curl_slist *list = NULL;#if defined(USE_SSLEAY) && defined(HAVE_OPENSSL_ENGINE_H) ENGINE *e; for (e = ENGINE_get_first(); e; e = ENGINE_get_next(e)) list = curl_slist_append(list, ENGINE_get_id(e));#endif (void) data; return (list);}
开发者ID:dangardner,项目名称:mudmagic-client,代码行数:14,
示例9: ossl_engine_s_enginesstatic VALUEossl_engine_s_engines(VALUE klass, SEL sel){ ENGINE *e; VALUE ary, obj; ary = rb_ary_new(); for(e = ENGINE_get_first(); e; e = ENGINE_get_next(e)){ WrapEngine(klass, obj, e); rb_ary_push(ary, obj); } return ary;}
开发者ID:1nueve,项目名称:MacRuby,代码行数:14,
示例10: ossl_engine_s_enginesstatic VALUEossl_engine_s_engines(VALUE klass){ ENGINE *e; VALUE ary, obj; ary = rb_ary_new(); for(e = ENGINE_get_first(); e; e = ENGINE_get_next(e)){ /* Need a ref count of two here because of ENGINE_free being * called internally by OpenSSL when moving to the next ENGINE * and by us when releasing the ENGINE reference */ ENGINE_up_ref(e); WrapEngine(klass, obj, e); rb_ary_push(ary, obj); } return ary;}
开发者ID:Emily,项目名称:rubinius,代码行数:18,
示例11: display_engine_liststatic void display_engine_list(void) { ENGINE *h; int loop; h = ENGINE_get_first(); loop = 0; printf("listing available engine types/n"); while(h) { printf("engine %i, id = /"%s/", name = /"%s/"/n", loop++, ENGINE_get_id(h), ENGINE_get_name(h)); h = ENGINE_get_next(h); } printf("end of list/n"); /* ENGINE_get_first() increases the struct_ref counter, so we must call ENGINE_free() to decrease it again */ ENGINE_free(h); }
开发者ID:ashwinraghav,项目名称:Parallel_Open_SSL,代码行数:19,
示例12: throwstd::vector<std::string> Engines::getEnginesList() throw (EngineException){ ENGINE *e; const char *name; std::vector<std::string> ret; e = ENGINE_get_first(); if (!e) { throw EngineException(EngineException::ENGINE_NOT_FOUND, "Engines::getEnginesList"); } name = ENGINE_get_name(e); ret.push_back(name); while ((e = ENGINE_get_next(e)) != NULL) { name = ENGINE_get_name(e); ret.push_back(name); } return ret;}
开发者ID:GNakayama,项目名称:libcryptosec,代码行数:19,
示例13: engine_get_first_nifERL_NIF_TERM engine_get_first_nif(ErlNifEnv* env, int argc, const ERL_NIF_TERM argv[]){/* () */#ifdef HAS_ENGINE_SUPPORT ERL_NIF_TERM ret, result; ENGINE *engine; ErlNifBinary engine_bin; struct engine_ctx *ctx = NULL; ASSERT(argc == 0); if ((engine = ENGINE_get_first()) == NULL) { if (!enif_alloc_binary(0, &engine_bin)) goto err; engine_bin.size = 0; return enif_make_tuple2(env, atom_ok, enif_make_binary(env, &engine_bin)); } if ((ctx = enif_alloc_resource(engine_ctx_rtype, sizeof(struct engine_ctx))) == NULL) goto err; ctx->engine = engine; ctx->id = NULL; result = enif_make_resource(env, ctx); ret = enif_make_tuple2(env, atom_ok, result); goto done; err: ret = enif_make_badarg(env); done: if (ctx) enif_release_resource(ctx); return ret;#else return atom_notsup;#endif}
开发者ID:bjorng,项目名称:otp,代码行数:38,
示例14: show_available_enginesvoidshow_available_engines (){#if HAVE_OPENSSL_ENGINE /* Only defined for OpenSSL */ ENGINE *e; printf ("OpenSSL Crypto Engines/n/n"); ENGINE_load_builtin_engines (); e = ENGINE_get_first (); while (e) { printf ("%s [%s]/n", ENGINE_get_name (e), ENGINE_get_id (e)); e = ENGINE_get_next (e); } ENGINE_cleanup ();#else printf ("Sorry, OpenSSL hardware crypto engine functionality is not available./n");#endif}
开发者ID:AllardJ,项目名称:Tomato,代码行数:23,
示例15: myModConfigconst char *ssl_cmd_SSLCryptoDevice(cmd_parms *cmd, void *dcfg, const char *arg){ SSLModConfigRec *mc = myModConfig(cmd->server); const char *err; ENGINE *e; if ((err = ap_check_cmd_context(cmd, GLOBAL_ONLY))) { return err; } if (strcEQ(arg, "builtin")) { mc->szCryptoDevice = NULL; } else if ((e = ENGINE_by_id(arg))) { mc->szCryptoDevice = arg; ENGINE_free(e); } else { err = "SSLCryptoDevice: Invalid argument; must be one of: " "'builtin' (none)"; e = ENGINE_get_first(); while (e) { ENGINE *en; err = apr_pstrcat(cmd->pool, err, ", '", ENGINE_get_id(e), "' (", ENGINE_get_name(e), ")", NULL); en = ENGINE_get_next(e); ENGINE_free(e); e = en; } return err; } apn_set_unsupport(cmd, "SSLCryptoDevice: No relevant directive in Nginx."); return NULL;}
开发者ID:Alivx,项目名称:apache2nginx,代码行数:37,
示例16: mainint main(int argc, char *argv[]) { ENGINE *block[512]; char buf[256]; const char *id, *name; ENGINE *ptr; int loop; int to_return = 1; ENGINE *new_h1 = NULL; ENGINE *new_h2 = NULL; ENGINE *new_h3 = NULL; ENGINE *new_h4 = NULL; /* enable memory leak checking unless explicitly disabled */ if (!((getenv("OPENSSL_DEBUG_MEMORY") != NULL) && (0 == strcmp(getenv("OPENSSL_DEBUG_MEMORY"), "off")))) { CRYPTO_malloc_debug_init(); CRYPTO_set_mem_debug_options(V_CRYPTO_MDEBUG_ALL); } else { /* OPENSSL_DEBUG_MEMORY=off */ CRYPTO_set_mem_debug_functions(0, 0, 0, 0, 0); } CRYPTO_mem_ctrl(CRYPTO_MEM_CHECK_ON); ERR_load_crypto_strings(); memset(block, 0, 512 * sizeof(ENGINE *)); if(((new_h1 = ENGINE_new()) == NULL) || !ENGINE_set_id(new_h1, "test_id0") || !ENGINE_set_name(new_h1, "First test item") || ((new_h2 = ENGINE_new()) == NULL) || !ENGINE_set_id(new_h2, "test_id1") || !ENGINE_set_name(new_h2, "Second test item") || ((new_h3 = ENGINE_new()) == NULL) || !ENGINE_set_id(new_h3, "test_id2") || !ENGINE_set_name(new_h3, "Third test item") || ((new_h4 = ENGINE_new()) == NULL) || !ENGINE_set_id(new_h4, "test_id3") || !ENGINE_set_name(new_h4, "Fourth test item")) { printf("Couldn't set up test ENGINE structures/n"); goto end; } printf("/nenginetest beginning/n/n"); display_engine_list(); if(!ENGINE_add(new_h1)) { printf("Add failed!/n"); goto end; } display_engine_list(); ptr = ENGINE_get_first(); if(!ENGINE_remove(ptr)) { printf("Remove failed!/n"); goto end; } if (ptr) ENGINE_free(ptr); display_engine_list(); if(!ENGINE_add(new_h3) || !ENGINE_add(new_h2)) { printf("Add failed!/n"); goto end; } display_engine_list(); if(!ENGINE_remove(new_h2)) { printf("Remove failed!/n"); goto end; } display_engine_list(); if(!ENGINE_add(new_h4)) { printf("Add failed!/n"); goto end; } display_engine_list(); if(ENGINE_add(new_h3)) { printf("Add *should* have failed but didn't!/n"); goto end; } else printf("Add that should fail did./n"); ERR_clear_error(); if(ENGINE_remove(new_h2)) { printf("Remove *should* have failed but didn't!/n"); goto end; } else printf("Remove that should fail did./n"); ERR_clear_error(); if(!ENGINE_remove(new_h3)) { printf("Remove failed!/n"); goto end; }//.........这里部分代码省略.........
开发者ID:ashwinraghav,项目名称:Parallel_Open_SSL,代码行数:101,
示例17: dst__openssl_initisc_result_tdst__openssl_init() { isc_result_t result;#ifdef USE_ENGINE /* const char *name; */ ENGINE *re;#endif#ifdef DNS_CRYPTO_LEAKS CRYPTO_malloc_debug_init(); CRYPTO_set_mem_debug_options(V_CRYPTO_MDEBUG_ALL); CRYPTO_mem_ctrl(CRYPTO_MEM_CHECK_ON);#endif CRYPTO_set_mem_functions(mem_alloc, mem_realloc, mem_free); nlocks = CRYPTO_num_locks(); locks = mem_alloc(sizeof(isc_mutex_t) * nlocks); if (locks == NULL) return (ISC_R_NOMEMORY); result = isc_mutexblock_init(locks, nlocks); if (result != ISC_R_SUCCESS) goto cleanup_mutexalloc; CRYPTO_set_locking_callback(lock_callback); CRYPTO_set_id_callback(id_callback); rm = mem_alloc(sizeof(RAND_METHOD)); if (rm == NULL) { result = ISC_R_NOMEMORY; goto cleanup_mutexinit; } rm->seed = NULL; rm->bytes = entropy_get; rm->cleanup = NULL; rm->add = entropy_add; rm->pseudorand = entropy_getpseudo; rm->status = entropy_status;#ifdef USE_ENGINE OPENSSL_config(NULL);#ifdef USE_PKCS11#ifndef PKCS11_SO_PATH#define PKCS11_SO_PATH "/usr/local/lib/engines/engine_pkcs11.so"#endif#ifndef PKCS11_MODULE_PATH#define PKCS11_MODULE_PATH "/usr/lib/libpkcs11.so"#endif { /* * to use this to config the PIN, add in openssl.cnf: * - at the beginning: "openssl_conf = openssl_def" * - at any place these sections: * [ openssl_def ] * engines = engine_section * [ engine_section ] * pkcs11 = pkcs11_section * [ pkcs11_section ] * PIN = my___pin */ const char *pre_cmds[] = { "SO_PATH", PKCS11_SO_PATH, "LOAD", NULL, "MODULE_PATH", PKCS11_MODULE_PATH }; const char *post_cmds[] = { /* "PIN", "my___pin" */ }; result = dst__openssl_load_engine("pkcs11", "pkcs11", pre_cmds, 0, post_cmds, /*1*/ 0); if (result != ISC_R_SUCCESS) goto cleanup_rm; }#endif /* USE_PKCS11 */ if (engine_id != NULL) { e = ENGINE_by_id(engine_id); if (e == NULL) { result = ISC_R_NOTFOUND; goto cleanup_rm; } if (!ENGINE_init(e)) { result = ISC_R_FAILURE; ENGINE_free(e); goto cleanup_rm; } ENGINE_set_default(e, ENGINE_METHOD_ALL); ENGINE_free(e); } else { ENGINE_register_all_complete(); for (e = ENGINE_get_first(); e != NULL; e = ENGINE_get_next(e)) { /* * Something weird here. If we call ENGINE_finish() * ENGINE_get_default_RAND() will fail. */ if (ENGINE_init(e)) { if (he == NULL) he = e; } } } re = ENGINE_get_default_RAND();//.........这里部分代码省略.........
开发者ID:rodrigc,项目名称:bz-vimage,代码行数:101,
示例18: mainint main(int argc, char *argv[]){ ENGINE *block[512]; char buf[256]; const char *id, *name, *p; ENGINE *ptr; int loop; int to_return = 1; ENGINE *new_h1 = NULL; ENGINE *new_h2 = NULL; ENGINE *new_h3 = NULL; ENGINE *new_h4 = NULL; p = getenv("OPENSSL_DEBUG_MEMORY"); if (p != NULL && strcmp(p, "on") == 0) CRYPTO_set_mem_debug(1); memset(block, 0, sizeof(block)); if (((new_h1 = ENGINE_new()) == NULL) || !ENGINE_set_id(new_h1, "test_id0") || !ENGINE_set_name(new_h1, "First test item") || ((new_h2 = ENGINE_new()) == NULL) || !ENGINE_set_id(new_h2, "test_id1") || !ENGINE_set_name(new_h2, "Second test item") || ((new_h3 = ENGINE_new()) == NULL) || !ENGINE_set_id(new_h3, "test_id2") || !ENGINE_set_name(new_h3, "Third test item") || ((new_h4 = ENGINE_new()) == NULL) || !ENGINE_set_id(new_h4, "test_id3") || !ENGINE_set_name(new_h4, "Fourth test item")) { printf("Couldn't set up test ENGINE structures/n"); goto end; } printf("/nenginetest beginning/n/n"); display_engine_list(); if (!ENGINE_add(new_h1)) { printf("Add failed!/n"); goto end; } display_engine_list(); ptr = ENGINE_get_first(); if (!ENGINE_remove(ptr)) { printf("Remove failed!/n"); goto end; } ENGINE_free(ptr); display_engine_list(); if (!ENGINE_add(new_h3) || !ENGINE_add(new_h2)) { printf("Add failed!/n"); goto end; } display_engine_list(); if (!ENGINE_remove(new_h2)) { printf("Remove failed!/n"); goto end; } display_engine_list(); if (!ENGINE_add(new_h4)) { printf("Add failed!/n"); goto end; } display_engine_list(); if (ENGINE_add(new_h3)) { printf("Add *should* have failed but didn't!/n"); goto end; } else printf("Add that should fail did./n"); ERR_clear_error(); if (ENGINE_remove(new_h2)) { printf("Remove *should* have failed but didn't!/n"); goto end; } else printf("Remove that should fail did./n"); ERR_clear_error(); if (!ENGINE_remove(new_h3)) { printf("Remove failed!/n"); goto end; } display_engine_list(); if (!ENGINE_remove(new_h4)) { printf("Remove failed!/n"); goto end; } display_engine_list(); /* * Depending on whether there's any hardware support compiled in, this * remove may be destined to fail. */ ptr = ENGINE_get_first(); if (ptr) if (!ENGINE_remove(ptr)) printf("Remove failed!i - probably no hardware " "support present./n"); ENGINE_free(ptr); display_engine_list(); if (!ENGINE_add(new_h1) || !ENGINE_remove(new_h1)) { printf("Couldn't add and remove to an empty list!/n"); goto end; } else printf("Successfully added and removed to an empty list!/n");//.........这里部分代码省略.........
开发者ID:1234-,项目名称:openssl,代码行数:101,
示例19: mainint main(int argc, char *argv[]) { ENGINE *block[512]; char *id, *name; ENGINE *ptr; int loop; int to_return = 1; ENGINE *new_h1 = NULL; ENGINE *new_h2 = NULL; ENGINE *new_h3 = NULL; ENGINE *new_h4 = NULL; ERR_load_crypto_strings(); memset(block, 0, 512 * sizeof(ENGINE *)); if(((new_h1 = ENGINE_new()) == NULL) || !ENGINE_set_id(new_h1, "test_id0") || !ENGINE_set_name(new_h1, "First test item") || ((new_h2 = ENGINE_new()) == NULL) || !ENGINE_set_id(new_h2, "test_id1") || !ENGINE_set_name(new_h2, "Second test item") || ((new_h3 = ENGINE_new()) == NULL) || !ENGINE_set_id(new_h3, "test_id2") || !ENGINE_set_name(new_h3, "Third test item") || ((new_h4 = ENGINE_new()) == NULL) || !ENGINE_set_id(new_h4, "test_id3") || !ENGINE_set_name(new_h4, "Fourth test item")) { printf("Couldn't set up test ENGINE structures/n"); goto end; } printf("/nenginetest beginning/n/n"); display_engine_list(); if(!ENGINE_add(new_h1)) { printf("Add failed!/n"); goto end; } display_engine_list(); ptr = ENGINE_get_first(); if(!ENGINE_remove(ptr)) { printf("Remove failed!/n"); goto end; } if (ptr) ENGINE_free(ptr); display_engine_list(); if(!ENGINE_add(new_h3) || !ENGINE_add(new_h2)) { printf("Add failed!/n"); goto end; } display_engine_list(); if(!ENGINE_remove(new_h2)) { printf("Remove failed!/n"); goto end; } display_engine_list(); if(!ENGINE_add(new_h4)) { printf("Add failed!/n"); goto end; } display_engine_list(); if(ENGINE_add(new_h3)) { printf("Add *should* have failed but didn't!/n"); goto end; } else printf("Add that should fail did./n"); ERR_clear_error(); if(ENGINE_remove(new_h2)) { printf("Remove *should* have failed but didn't!/n"); goto end; } else printf("Remove that should fail did./n"); ERR_clear_error(); if(!ENGINE_remove(new_h3)) { printf("Remove failed!/n"); goto end; } display_engine_list(); if(!ENGINE_remove(new_h4)) { printf("Remove failed!/n"); goto end; } display_engine_list(); /* Depending on whether there's any hardware support compiled * in, this remove may be destined to fail. */ ptr = ENGINE_get_first(); if(ptr) if(!ENGINE_remove(ptr)) printf("Remove failed!i - probably no hardware "//.........这里部分代码省略.........
开发者ID:Basskrapfen,项目名称:openbsd,代码行数:101,
示例20: MAINint MAIN(int argc, char **argv) { int ret=1,i; const char **pp; int verbose=0, list_cap=0, test_avail=0, test_avail_noise = 0; ENGINE *e; STACK *engines = sk_new_null(); STACK *pre_cmds = sk_new_null(); STACK *post_cmds = sk_new_null(); int badops=1; BIO *bio_out=NULL; const char *indent = " "; apps_startup(); SSL_load_error_strings(); if (bio_err == NULL) bio_err=BIO_new_fp(stderr,BIO_NOCLOSE); if (!load_config(bio_err, NULL)) goto end; bio_out=BIO_new_fp(stdout,BIO_NOCLOSE);#ifdef OPENSSL_SYS_VMS { BIO *tmpbio = BIO_new(BIO_f_linebuffer()); bio_out = BIO_push(tmpbio, bio_out); }#endif argc--; argv++; while (argc >= 1) { if (strncmp(*argv,"-v",2) == 0) { if(strspn(*argv + 1, "v") < strlen(*argv + 1)) goto skip_arg_loop; if((verbose=strlen(*argv + 1)) > 4) goto skip_arg_loop; } else if (strcmp(*argv,"-c") == 0) list_cap=1; else if (strncmp(*argv,"-t",2) == 0) { test_avail=1; if(strspn(*argv + 1, "t") < strlen(*argv + 1)) goto skip_arg_loop; if((test_avail_noise = strlen(*argv + 1) - 1) > 1) goto skip_arg_loop; } else if (strcmp(*argv,"-pre") == 0) { argc--; argv++; if (argc == 0) goto skip_arg_loop; sk_push(pre_cmds,*argv); } else if (strcmp(*argv,"-post") == 0) { argc--; argv++; if (argc == 0) goto skip_arg_loop; sk_push(post_cmds,*argv); } else if ((strncmp(*argv,"-h",2) == 0) || (strcmp(*argv,"-?") == 0)) goto skip_arg_loop; else sk_push(engines,*argv); argc--; argv++; } /* Looks like everything went OK */ badops = 0;skip_arg_loop: if (badops) { for (pp=engine_usage; (*pp != NULL); pp++) BIO_printf(bio_err,"%s",*pp); goto end; } if (sk_num(engines) == 0) { for(e = ENGINE_get_first(); e != NULL; e = ENGINE_get_next(e)) { sk_push(engines,(char *)ENGINE_get_id(e)); } } for (i=0; i<sk_num(engines); i++) { const char *id = sk_value(engines,i); if ((e = ENGINE_by_id(id)) != NULL) { const char *name = ENGINE_get_name(e); /* Do "id" first, then "name". Easier to auto-parse. */ BIO_printf(bio_out, "(%s) %s/n", id, name); util_do_cmds(e, pre_cmds, bio_out, indent);//.........这里部分代码省略.........
开发者ID:174high,项目名称:openssl-0.9.8e_linux_porting,代码行数:101,
注:本文中的ENGINE_get_first函数示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 C++ ENGINE_init函数代码示例 C++ ENGINE_finish函数代码示例 |