Lines Matching refs:gctx

448     struct dh_gen_ctx *gctx = NULL;  in dh_gen_init_base()  local
457 if ((gctx = OPENSSL_zalloc(sizeof(*gctx))) != NULL) { in dh_gen_init_base()
458 gctx->selection = selection; in dh_gen_init_base()
459 gctx->libctx = libctx; in dh_gen_init_base()
460 gctx->pbits = 2048; in dh_gen_init_base()
461 gctx->qbits = 224; in dh_gen_init_base()
462 gctx->mdname = NULL; in dh_gen_init_base()
464 gctx->gen_type = (type == DH_FLAG_TYPE_DHX) in dh_gen_init_base()
468 gctx->gen_type = (type == DH_FLAG_TYPE_DHX) in dh_gen_init_base()
472 gctx->gindex = -1; in dh_gen_init_base()
473 gctx->hindex = 0; in dh_gen_init_base()
474 gctx->pcounter = -1; in dh_gen_init_base()
475 gctx->generator = DH_GENERATOR_2; in dh_gen_init_base()
476 gctx->dh_type = type; in dh_gen_init_base()
478 if (!dh_gen_set_params(gctx, params)) { in dh_gen_init_base()
479 OPENSSL_free(gctx); in dh_gen_init_base()
480 gctx = NULL; in dh_gen_init_base()
482 return gctx; in dh_gen_init_base()
499 struct dh_gen_ctx *gctx = genctx; in dh_gen_set_template() local
502 if (!ossl_prov_is_running() || gctx == NULL || dh == NULL) in dh_gen_set_template()
504 gctx->ffc_params = ossl_dh_get0_params(dh); in dh_gen_set_template()
508 static int dh_set_gen_seed(struct dh_gen_ctx *gctx, unsigned char *seed, in dh_set_gen_seed() argument
511 OPENSSL_clear_free(gctx->seed, gctx->seedlen); in dh_set_gen_seed()
512 gctx->seed = NULL; in dh_set_gen_seed()
513 gctx->seedlen = 0; in dh_set_gen_seed()
515 gctx->seed = OPENSSL_memdup(seed, seedlen); in dh_set_gen_seed()
516 if (gctx->seed == NULL) in dh_set_gen_seed()
518 gctx->seedlen = seedlen; in dh_set_gen_seed()
525 struct dh_gen_ctx *gctx = genctx; in dh_gen_common_set_params() local
528 if (gctx == NULL) in dh_gen_common_set_params()
536 || ((gctx->gen_type = in dh_gen_common_set_params()
537 dh_gen_type_name2id_w_default(p->data, gctx->dh_type)) == -1)) { in dh_gen_common_set_params()
549 || ((gctx->group_nid = in dh_gen_common_set_params()
556 && !OSSL_PARAM_get_size_t(p, &gctx->pbits)) in dh_gen_common_set_params()
559 if (p != NULL && !OSSL_PARAM_get_int(p, &gctx->priv_len)) in dh_gen_common_set_params()
600 struct dh_gen_ctx *gctx = genctx; in dhx_gen_set_params() local
608 if (p != NULL && !OSSL_PARAM_get_int(p, &gctx->gindex)) in dhx_gen_set_params()
611 if (p != NULL && !OSSL_PARAM_get_int(p, &gctx->pcounter)) in dhx_gen_set_params()
614 if (p != NULL && !OSSL_PARAM_get_int(p, &gctx->hindex)) in dhx_gen_set_params()
619 || !dh_set_gen_seed(gctx, p->data, p->data_size))) in dhx_gen_set_params()
622 && !OSSL_PARAM_get_size_t(p, &gctx->qbits)) in dhx_gen_set_params()
628 OPENSSL_free(gctx->mdname); in dhx_gen_set_params()
629 gctx->mdname = OPENSSL_strdup(p->data); in dhx_gen_set_params()
630 if (gctx->mdname == NULL) in dhx_gen_set_params()
637 OPENSSL_free(gctx->mdprops); in dhx_gen_set_params()
638 gctx->mdprops = OPENSSL_strdup(p->data); in dhx_gen_set_params()
639 if (gctx->mdprops == NULL) in dhx_gen_set_params()
654 struct dh_gen_ctx *gctx = genctx; in dh_gen_set_params() local
661 if (p != NULL && !OSSL_PARAM_get_int(p, &gctx->generator)) in dh_gen_set_params()
681 struct dh_gen_ctx *gctx = BN_GENCB_get_arg(cb); in dh_gencb() local
687 return gctx->cb(params, gctx->cbarg); in dh_gencb()
693 struct dh_gen_ctx *gctx = genctx; in dh_gen() local
698 if (!ossl_prov_is_running() || gctx == NULL) in dh_gen()
706 if (gctx->group_nid != NID_undef) in dh_gen()
707 gctx->gen_type = DH_PARAMGEN_TYPE_GROUP; in dh_gen()
710 if (gctx->gen_type == DH_PARAMGEN_TYPE_GROUP in dh_gen()
711 && gctx->ffc_params == NULL) { in dh_gen()
713 if (gctx->group_nid == NID_undef) in dh_gen()
714 gctx->group_nid = ossl_dh_get_named_group_uid_from_size(gctx->pbits); in dh_gen()
715 if (gctx->group_nid == NID_undef) in dh_gen()
717 dh = ossl_dh_new_by_nid_ex(gctx->libctx, gctx->group_nid); in dh_gen()
722 dh = ossl_dh_new_ex(gctx->libctx); in dh_gen()
728 if (gctx->ffc_params != NULL in dh_gen()
729 && !ossl_ffc_params_copy(ffc, gctx->ffc_params)) in dh_gen()
732 if (!ossl_ffc_params_set_seed(ffc, gctx->seed, gctx->seedlen)) in dh_gen()
734 if (gctx->gindex != -1) { in dh_gen()
735 ossl_ffc_params_set_gindex(ffc, gctx->gindex); in dh_gen()
736 if (gctx->pcounter != -1) in dh_gen()
737 ossl_ffc_params_set_pcounter(ffc, gctx->pcounter); in dh_gen()
738 } else if (gctx->hindex != 0) { in dh_gen()
739 ossl_ffc_params_set_h(ffc, gctx->hindex); in dh_gen()
741 if (gctx->mdname != NULL) { in dh_gen()
742 if (!ossl_ffc_set_digest(ffc, gctx->mdname, gctx->mdprops)) in dh_gen()
745 gctx->cb = osslcb; in dh_gen()
746 gctx->cbarg = cbarg; in dh_gen()
751 if ((gctx->selection & OSSL_KEYMGMT_SELECT_DOMAIN_PARAMETERS) != 0) { in dh_gen()
757 if (gctx->gen_type == DH_PARAMGEN_TYPE_GENERATOR) in dh_gen()
758 ret = DH_generate_parameters_ex(dh, gctx->pbits, in dh_gen()
759 gctx->generator, gencb); in dh_gen()
761 ret = ossl_dh_generate_ffc_parameters(dh, gctx->gen_type, in dh_gen()
762 gctx->pbits, gctx->qbits, in dh_gen()
769 if ((gctx->selection & OSSL_KEYMGMT_SELECT_KEYPAIR) != 0) { in dh_gen()
772 if (gctx->priv_len > 0) in dh_gen()
773 DH_set_length(dh, (long)gctx->priv_len); in dh_gen()
775 gctx->gen_type == DH_PARAMGEN_TYPE_FIPS_186_2); in dh_gen()
780 DH_set_flags(dh, gctx->dh_type); in dh_gen()
794 struct dh_gen_ctx *gctx = genctx; in dh_gen_cleanup() local
796 if (gctx == NULL) in dh_gen_cleanup()
799 OPENSSL_free(gctx->mdname); in dh_gen_cleanup()
800 OPENSSL_free(gctx->mdprops); in dh_gen_cleanup()
801 OPENSSL_clear_free(gctx->seed, gctx->seedlen); in dh_gen_cleanup()
802 OPENSSL_free(gctx); in dh_gen_cleanup()