• Home
  • Raw
  • Download

Lines Matching +full:enable +full:- +full:fips

2  * Copyright 2020-2022 The OpenSSL Project Authors. All Rights Reserved.
58 return CRYPTO_UP_REF(&rand->refcnt, &ref, rand->refcnt_lock); in evp_rand_up_ref()
69 CRYPTO_DOWN_REF(&rand->refcnt, &ref, rand->refcnt_lock); in evp_rand_free()
72 OPENSSL_free(rand->type_name); in evp_rand_free()
73 ossl_provider_free(rand->prov); in evp_rand_free()
74 CRYPTO_THREAD_lock_free(rand->refcnt_lock); in evp_rand_free()
83 || (rand->refcnt_lock = CRYPTO_THREAD_lock_new()) == NULL) { in evp_rand_new()
87 rand->refcnt = 1; in evp_rand_new()
91 /* Enable locking of the underlying DRBG/RAND if available */
94 if (rand->meth->enable_locking != NULL) in EVP_RAND_enable_locking()
95 return rand->meth->enable_locking(rand->algctx); in EVP_RAND_enable_locking()
103 if (rand->meth->lock != NULL) in evp_rand_lock()
104 return rand->meth->lock(rand->algctx); in evp_rand_lock()
111 if (rand->meth->unlock != NULL) in evp_rand_unlock()
112 rand->meth->unlock(rand->algctx); in evp_rand_unlock()
119 const OSSL_DISPATCH *fns = algodef->implementation; in evp_rand_from_algorithm()
130 rand->name_id = name_id; in evp_rand_from_algorithm()
131 if ((rand->type_name = ossl_algorithm_get1_first_name(algodef)) == NULL) { in evp_rand_from_algorithm()
135 rand->description = algodef->algorithm_description; in evp_rand_from_algorithm()
136 rand->dispatch = fns; in evp_rand_from_algorithm()
137 for (; fns->function_id != 0; fns++) { in evp_rand_from_algorithm()
138 switch (fns->function_id) { in evp_rand_from_algorithm()
140 if (rand->newctx != NULL) in evp_rand_from_algorithm()
142 rand->newctx = OSSL_FUNC_rand_newctx(fns); in evp_rand_from_algorithm()
146 if (rand->freectx != NULL) in evp_rand_from_algorithm()
148 rand->freectx = OSSL_FUNC_rand_freectx(fns); in evp_rand_from_algorithm()
152 if (rand->instantiate != NULL) in evp_rand_from_algorithm()
154 rand->instantiate = OSSL_FUNC_rand_instantiate(fns); in evp_rand_from_algorithm()
158 if (rand->uninstantiate != NULL) in evp_rand_from_algorithm()
160 rand->uninstantiate = OSSL_FUNC_rand_uninstantiate(fns); in evp_rand_from_algorithm()
164 if (rand->generate != NULL) in evp_rand_from_algorithm()
166 rand->generate = OSSL_FUNC_rand_generate(fns); in evp_rand_from_algorithm()
170 if (rand->reseed != NULL) in evp_rand_from_algorithm()
172 rand->reseed = OSSL_FUNC_rand_reseed(fns); in evp_rand_from_algorithm()
175 if (rand->nonce != NULL) in evp_rand_from_algorithm()
177 rand->nonce = OSSL_FUNC_rand_nonce(fns); in evp_rand_from_algorithm()
180 if (rand->enable_locking != NULL) in evp_rand_from_algorithm()
182 rand->enable_locking = OSSL_FUNC_rand_enable_locking(fns); in evp_rand_from_algorithm()
186 if (rand->lock != NULL) in evp_rand_from_algorithm()
188 rand->lock = OSSL_FUNC_rand_lock(fns); in evp_rand_from_algorithm()
192 if (rand->unlock != NULL) in evp_rand_from_algorithm()
194 rand->unlock = OSSL_FUNC_rand_unlock(fns); in evp_rand_from_algorithm()
198 if (rand->gettable_params != NULL) in evp_rand_from_algorithm()
200 rand->gettable_params = in evp_rand_from_algorithm()
204 if (rand->gettable_ctx_params != NULL) in evp_rand_from_algorithm()
206 rand->gettable_ctx_params = in evp_rand_from_algorithm()
210 if (rand->settable_ctx_params != NULL) in evp_rand_from_algorithm()
212 rand->settable_ctx_params = in evp_rand_from_algorithm()
216 if (rand->get_params != NULL) in evp_rand_from_algorithm()
218 rand->get_params = OSSL_FUNC_rand_get_params(fns); in evp_rand_from_algorithm()
221 if (rand->get_ctx_params != NULL) in evp_rand_from_algorithm()
223 rand->get_ctx_params = OSSL_FUNC_rand_get_ctx_params(fns); in evp_rand_from_algorithm()
227 if (rand->set_ctx_params != NULL) in evp_rand_from_algorithm()
229 rand->set_ctx_params = OSSL_FUNC_rand_set_ctx_params(fns); in evp_rand_from_algorithm()
232 if (rand->verify_zeroization != NULL) in evp_rand_from_algorithm()
234 rand->verify_zeroization = OSSL_FUNC_rand_verify_zeroization(fns); in evp_rand_from_algorithm()
244 * management functions. In FIPS mode, we also require the zeroization in evp_rand_from_algorithm()
268 rand->prov = prov; in evp_rand_from_algorithm()
293 return rand->name_id; in evp_rand_get_number()
298 return rand->type_name; in EVP_RAND_get0_name()
303 return rand->description; in EVP_RAND_get0_description()
308 return rand != NULL && evp_is_a(rand->prov, rand->name_id, NULL, name); in EVP_RAND_is_a()
313 return rand->prov; in EVP_RAND_get0_provider()
318 if (rand->get_params != NULL) in EVP_RAND_get_params()
319 return rand->get_params(params); in EVP_RAND_get_params()
327 return CRYPTO_UP_REF(&ctx->refcnt, &ref, ctx->refcnt_lock); in evp_rand_ctx_up_ref()
342 if (ctx == NULL || (ctx->refcnt_lock = CRYPTO_THREAD_lock_new()) == NULL) { in EVP_RAND_CTX_new()
350 CRYPTO_THREAD_lock_free(ctx->refcnt_lock); in EVP_RAND_CTX_new()
354 parent_ctx = parent->algctx; in EVP_RAND_CTX_new()
355 parent_dispatch = parent->meth->dispatch; in EVP_RAND_CTX_new()
357 if ((ctx->algctx = rand->newctx(ossl_provider_ctx(rand->prov), parent_ctx, in EVP_RAND_CTX_new()
361 rand->freectx(ctx->algctx); in EVP_RAND_CTX_new()
362 CRYPTO_THREAD_lock_free(ctx->refcnt_lock); in EVP_RAND_CTX_new()
367 ctx->meth = rand; in EVP_RAND_CTX_new()
368 ctx->parent = parent; in EVP_RAND_CTX_new()
369 ctx->refcnt = 1; in EVP_RAND_CTX_new()
381 CRYPTO_DOWN_REF(&ctx->refcnt, &ref, ctx->refcnt_lock); in EVP_RAND_CTX_free()
384 parent = ctx->parent; in EVP_RAND_CTX_free()
385 ctx->meth->freectx(ctx->algctx); in EVP_RAND_CTX_free()
386 ctx->algctx = NULL; in EVP_RAND_CTX_free()
387 EVP_RAND_free(ctx->meth); in EVP_RAND_CTX_free()
388 CRYPTO_THREAD_lock_free(ctx->refcnt_lock); in EVP_RAND_CTX_free()
395 return ctx->meth; in EVP_RAND_CTX_get0_rand()
401 return ctx->meth->get_ctx_params(ctx->algctx, params); in evp_rand_get_ctx_params_locked()
418 if (ctx->meth->set_ctx_params != NULL) in evp_rand_set_ctx_params_locked()
419 return ctx->meth->set_ctx_params(ctx->algctx, params); in evp_rand_set_ctx_params_locked()
436 if (rand->gettable_params == NULL) in EVP_RAND_gettable_params()
438 return rand->gettable_params(ossl_provider_ctx(EVP_RAND_get0_provider(rand))); in EVP_RAND_gettable_params()
445 if (rand->gettable_ctx_params == NULL) in EVP_RAND_gettable_ctx_params()
448 return rand->gettable_ctx_params(NULL, provctx); in EVP_RAND_gettable_ctx_params()
455 if (rand->settable_ctx_params == NULL) in EVP_RAND_settable_ctx_params()
458 return rand->settable_ctx_params(NULL, provctx); in EVP_RAND_settable_ctx_params()
465 if (ctx->meth->gettable_ctx_params == NULL) in EVP_RAND_CTX_gettable_params()
467 provctx = ossl_provider_ctx(EVP_RAND_get0_provider(ctx->meth)); in EVP_RAND_CTX_gettable_params()
468 return ctx->meth->gettable_ctx_params(ctx->algctx, provctx); in EVP_RAND_CTX_gettable_params()
475 if (ctx->meth->settable_ctx_params == NULL) in EVP_RAND_CTX_settable_params()
477 provctx = ossl_provider_ctx(EVP_RAND_get0_provider(ctx->meth)); in EVP_RAND_CTX_settable_params()
478 return ctx->meth->settable_ctx_params(ctx->algctx, provctx); in EVP_RAND_CTX_settable_params()
495 if (rand->prov != NULL) in EVP_RAND_names_do_all()
496 return evp_names_do_all(rand->prov, rand->name_id, fn, data); in EVP_RAND_names_do_all()
505 return ctx->meth->instantiate(ctx->algctx, strength, prediction_resistance, in evp_rand_instantiate_locked()
526 return ctx->meth->uninstantiate(ctx->algctx); in evp_rand_uninstantiate_locked()
556 for (; outlen > 0; outlen -= chunk, out += chunk) { in evp_rand_generate_locked()
558 if (!ctx->meth->generate(ctx->algctx, out, chunk, strength, in evp_rand_generate_locked()
590 if (ctx->meth->reseed != NULL) in evp_rand_reseed_locked()
591 return ctx->meth->reseed(ctx->algctx, prediction_resistance, in evp_rand_reseed_locked()
637 if (ctx->meth->nonce != NULL) in evp_rand_nonce_locked()
638 return ctx->meth->nonce(ctx->algctx, out, str, outlen, outlen) > 0; in evp_rand_nonce_locked()
666 if (ctx->meth->verify_zeroization != NULL) in evp_rand_verify_zeroization_locked()
667 return ctx->meth->verify_zeroization(ctx->algctx); in evp_rand_verify_zeroization_locked()