这篇教程C++ CRYPTO_get_ex_new_index函数代码示例写得很实用,希望能帮到您。
本文整理汇总了C++中CRYPTO_get_ex_new_index函数的典型用法代码示例。如果您正苦于以下问题:C++ CRYPTO_get_ex_new_index函数的具体用法?C++ CRYPTO_get_ex_new_index怎么用?C++ CRYPTO_get_ex_new_index使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。 在下文中一共展示了CRYPTO_get_ex_new_index函数的9个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。 示例1: definedCOMP_METHOD *COMP_zlib(void){ COMP_METHOD *meth = &zlib_method_nozlib;#ifdef ZLIB_SHARED if (!zlib_loaded) {# if defined(OPENSSL_SYS_WINDOWS) || defined(OPENSSL_SYS_WIN32) zlib_dso = DSO_load(NULL, "ZLIB1", NULL, 0);# else zlib_dso = DSO_load(NULL, "z", NULL, 0);# endif if (zlib_dso != NULL) { p_compress = (compress_ft) DSO_bind_func(zlib_dso, "compress"); p_inflateEnd = (inflateEnd_ft) DSO_bind_func(zlib_dso, "inflateEnd"); p_inflate = (inflate_ft) DSO_bind_func(zlib_dso, "inflate"); p_inflateInit_ = (inflateInit__ft) DSO_bind_func(zlib_dso, "inflateInit_"); p_deflateEnd = (deflateEnd_ft) DSO_bind_func(zlib_dso, "deflateEnd"); p_deflate = (deflate_ft) DSO_bind_func(zlib_dso, "deflate"); p_deflateInit_ = (deflateInit__ft) DSO_bind_func(zlib_dso, "deflateInit_"); p_zError = (zError__ft) DSO_bind_func(zlib_dso, "zError"); if (p_compress && p_inflateEnd && p_inflate && p_inflateInit_ && p_deflateEnd && p_deflate && p_deflateInit_ && p_zError) zlib_loaded++; } }#endif#ifdef ZLIB_SHARED if (zlib_loaded)#endif#if defined(ZLIB) || defined(ZLIB_SHARED) { /* * init zlib_stateful_ex_idx here so that in a multi-process * application it's enough to intialize openssl before forking (idx * will be inherited in all the children) */ if (zlib_stateful_ex_idx == -1) { CRYPTO_w_lock(CRYPTO_LOCK_COMP); if (zlib_stateful_ex_idx == -1) zlib_stateful_ex_idx = CRYPTO_get_ex_new_index(CRYPTO_EX_INDEX_COMP, 0, NULL, NULL, NULL, NULL); CRYPTO_w_unlock(CRYPTO_LOCK_COMP); if (zlib_stateful_ex_idx == -1) goto err; } meth = &zlib_stateful_method; } err:#endif return (meth);}
开发者ID:AmesianX,项目名称:openssl,代码行数:60,
示例2: RSA_get_ex_new_indexintRSA_get_ex_new_index(long argl, void *argp, CRYPTO_EX_new *new_func, CRYPTO_EX_dup *dup_func, CRYPTO_EX_free *free_func){ return CRYPTO_get_ex_new_index(CRYPTO_EX_INDEX_RSA, argl, argp, new_func, dup_func, free_func);}
开发者ID:DiamondLovesYou,项目名称:libressl-pnacl-sys,代码行数:7,
示例3: COMP_zlibCOMP_METHOD *COMP_zlib(void){ COMP_METHOD *meth = &zlib_method_nozlib;#ifdef ZLIB { /* init zlib_stateful_ex_idx here so that in a multi-process * application it's enough to intialize openssl before forking * (idx will be inherited in all the children) */ if (zlib_stateful_ex_idx == -1) { CRYPTO_w_lock(CRYPTO_LOCK_COMP); if (zlib_stateful_ex_idx == -1) zlib_stateful_ex_idx = CRYPTO_get_ex_new_index(CRYPTO_EX_INDEX_COMP, 0, NULL, NULL, NULL, NULL); CRYPTO_w_unlock(CRYPTO_LOCK_COMP); if (zlib_stateful_ex_idx == -1) goto err; } meth = &zlib_stateful_method; }err:#endif return (meth);}
开发者ID:soundsrc,项目名称:git-lfs-server,代码行数:29,
示例4: DH_get_ex_new_indexint DH_get_ex_new_index(long argl, void *argp, CRYPTO_EX_new *new_func, CRYPTO_EX_dup *dup_func, CRYPTO_EX_free *free_func) { dh_meth_num++; return(CRYPTO_get_ex_new_index(dh_meth_num-1, &dh_meth,argl,argp,new_func,dup_func,free_func)); }
开发者ID:unofficial-opensource-apple,项目名称:Security,代码行数:7,
示例5: SSL_SESSION_get_ex_new_indexintSSL_SESSION_get_ex_new_index(long argl, void *argp, CRYPTO_EX_new *new_func, CRYPTO_EX_dup *dup_func, CRYPTO_EX_free *free_func){ return CRYPTO_get_ex_new_index(CRYPTO_EX_INDEX_SSL_SESSION, argl, argp, new_func, dup_func, free_func);}
开发者ID:bbbrumley,项目名称:openbsd,代码行数:7,
示例6: DSA_get_ex_new_indexint DSA_get_ex_new_index(long argl, void *argp, CRYPTO_EX_new *new_func, CRYPTO_EX_dup *dup_func, CRYPTO_EX_free *free_func) { int index; if (!CRYPTO_get_ex_new_index(&g_ex_data_class, &index, argl, argp, new_func, dup_func, free_func)) { return -1; } return index;}
开发者ID:gotomypc,项目名称:tiny-webrtc-gw,代码行数:9,
示例7: X509_get_ex_new_indexint X509_get_ex_new_index(long argl, void *argp, CRYPTO_EX_unused * unused, CRYPTO_EX_dup *dup_func, CRYPTO_EX_free *free_func){ int index; if (!CRYPTO_get_ex_new_index(&g_ex_data_class, &index, argl, argp, dup_func, free_func)) { return -1; } return index;}
开发者ID:caiolima,项目名称:webkit,代码行数:10,
示例8: mainint main(){ MYOBJ *t1, *t2; const char *cp; char *p; p = strdup("hello world"); sargl = 21; sargp = malloc(1); sidx = CRYPTO_get_ex_new_index(CRYPTO_EX_INDEX_APP, sargl, sargp, exnew, exdup, exfree); t1 = MYOBJ_new(); t2 = MYOBJ_new(); MYOBJ_sethello(t1, p); cp = MYOBJ_gethello(t1); assert(cp == p); cp = MYOBJ_gethello(t2); assert(cp == NULL); MYOBJ_free(t1); MYOBJ_free(t2); free(sargp); free(p); return 0;}
开发者ID:1234-,项目名称:openssl,代码行数:24,
示例9: Init_openssl//.........这里部分代码省略......... * (base 16) */ rb_define_const(mOSSL, "OPENSSL_VERSION_NUMBER", INT2NUM(OPENSSL_VERSION_NUMBER)); /* * Boolean indicating whether OpenSSL is FIPS-capable or not */ rb_define_const(mOSSL, "OPENSSL_FIPS",#ifdef OPENSSL_FIPS Qtrue#else Qfalse#endif ); rb_define_module_function(mOSSL, "fips_mode", ossl_fips_mode_get, 0); rb_define_module_function(mOSSL, "fips_mode=", ossl_fips_mode_set, 1); /* * Generic error, * common for all classes under OpenSSL module */ eOSSLError = rb_define_class_under(mOSSL,"OpenSSLError",rb_eStandardError); rb_global_variable(&eOSSLError); /* * Init debug core */ dOSSL = Qfalse; rb_global_variable(&dOSSL); rb_define_module_function(mOSSL, "debug", ossl_debug_get, 0); rb_define_module_function(mOSSL, "debug=", ossl_debug_set, 1); rb_define_module_function(mOSSL, "errors", ossl_get_errors, 0); /* * Get ID of to_der */ ossl_s_to_der = rb_intern("to_der");#if !defined(HAVE_OPENSSL_110_THREADING_API) Init_ossl_locks();#endif /* * Init components */ Init_ossl_bn(); Init_ossl_cipher(); Init_ossl_config(); Init_ossl_digest(); Init_ossl_hmac(); Init_ossl_ns_spki(); Init_ossl_pkcs12(); Init_ossl_pkcs7(); Init_ossl_pkey(); Init_ossl_rand(); Init_ossl_ssl(); Init_ossl_x509(); Init_ossl_ocsp(); Init_ossl_engine(); Init_ossl_asn1(); Init_ossl_kdf();#if defined(OSSL_DEBUG) /* * For debugging Ruby/OpenSSL. Enable only when built with --enable-debug */#if !defined(LIBRESSL_VERSION_NUMBER) && / (OPENSSL_VERSION_NUMBER >= 0x10100000 && !defined(OPENSSL_NO_CRYPTO_MDEBUG) || / defined(CRYPTO_malloc_debug_init)) rb_define_module_function(mOSSL, "mem_check_start", mem_check_start, 0); rb_define_module_function(mOSSL, "print_mem_leaks", print_mem_leaks, 0);#if defined(CRYPTO_malloc_debug_init) /* <= 1.0.2 */ CRYPTO_malloc_debug_init();#endif#if defined(V_CRYPTO_MDEBUG_ALL) /* <= 1.0.2 */ CRYPTO_set_mem_debug_options(V_CRYPTO_MDEBUG_ALL);#endif#if OPENSSL_VERSION_NUMBER < 0x10100000 /* <= 1.0.2 */ { int i; /* * See crypto/ex_data.c; call def_get_class() immediately to avoid * allocations. 15 is the maximum number that is used as the class index * in OpenSSL 1.0.2. */ for (i = 0; i <= 15; i++) { if (CRYPTO_get_ex_new_index(i, 0, (void *)"ossl-mdebug-dummy", 0, 0, 0) < 0) rb_raise(rb_eRuntimeError, "CRYPTO_get_ex_new_index for " "class index %d failed", i); } }#endif#endif#endif}
开发者ID:dennyc,项目名称:openssl,代码行数:101,
注:本文中的CRYPTO_get_ex_new_index函数示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 C++ CRYPTO_malloc_debug_init函数代码示例 C++ CRYPTO_get_ex_data函数代码示例 |