Lines Matching defs:gctx

445     struct dh_gen_ctx *gctx = NULL;
454 if ((gctx = OPENSSL_zalloc(sizeof(*gctx))) != NULL) {
455 gctx->selection = selection;
456 gctx->libctx = libctx;
457 gctx->pbits = 2048;
458 gctx->qbits = 224;
459 gctx->mdname = NULL;
461 gctx->gen_type = (type == DH_FLAG_TYPE_DHX)
465 gctx->gen_type = (type == DH_FLAG_TYPE_DHX)
469 gctx->gindex = -1;
470 gctx->hindex = 0;
471 gctx->pcounter = -1;
472 gctx->generator = DH_GENERATOR_2;
473 gctx->dh_type = type;
475 if (!dh_gen_set_params(gctx, params)) {
476 OPENSSL_free(gctx);
477 gctx = NULL;
479 return gctx;
496 struct dh_gen_ctx *gctx = genctx;
499 if (!ossl_prov_is_running() || gctx == NULL || dh == NULL)
501 gctx->ffc_params = ossl_dh_get0_params(dh);
505 static int dh_set_gen_seed(struct dh_gen_ctx *gctx, unsigned char *seed,
508 OPENSSL_clear_free(gctx->seed, gctx->seedlen);
509 gctx->seed = NULL;
510 gctx->seedlen = 0;
512 gctx->seed = OPENSSL_memdup(seed, seedlen);
513 if (gctx->seed == NULL)
515 gctx->seedlen = seedlen;
522 struct dh_gen_ctx *gctx = genctx;
525 if (gctx == NULL)
533 || ((gctx->gen_type =
534 dh_gen_type_name2id_w_default(p->data, gctx->dh_type)) == -1)) {
546 || ((gctx->group_nid =
553 && !OSSL_PARAM_get_size_t(p, &gctx->pbits))
556 if (p != NULL && !OSSL_PARAM_get_int(p, &gctx->priv_len))
597 struct dh_gen_ctx *gctx = genctx;
605 if (p != NULL && !OSSL_PARAM_get_int(p, &gctx->gindex))
608 if (p != NULL && !OSSL_PARAM_get_int(p, &gctx->pcounter))
611 if (p != NULL && !OSSL_PARAM_get_int(p, &gctx->hindex))
616 || !dh_set_gen_seed(gctx, p->data, p->data_size)))
619 && !OSSL_PARAM_get_size_t(p, &gctx->qbits))
625 OPENSSL_free(gctx->mdname);
626 gctx->mdname = OPENSSL_strdup(p->data);
627 if (gctx->mdname == NULL)
634 OPENSSL_free(gctx->mdprops);
635 gctx->mdprops = OPENSSL_strdup(p->data);
636 if (gctx->mdprops == NULL)
651 struct dh_gen_ctx *gctx = genctx;
658 if (p != NULL && !OSSL_PARAM_get_int(p, &gctx->generator))
678 struct dh_gen_ctx *gctx = BN_GENCB_get_arg(cb);
684 return gctx->cb(params, gctx->cbarg);
690 struct dh_gen_ctx *gctx = genctx;
695 if (!ossl_prov_is_running() || gctx == NULL)
703 if (gctx->group_nid != NID_undef)
704 gctx->gen_type = DH_PARAMGEN_TYPE_GROUP;
707 if (gctx->gen_type == DH_PARAMGEN_TYPE_GROUP
708 && gctx->ffc_params == NULL) {
710 if (gctx->group_nid == NID_undef)
711 gctx->group_nid = ossl_dh_get_named_group_uid_from_size(gctx->pbits);
712 if (gctx->group_nid == NID_undef)
714 dh = ossl_dh_new_by_nid_ex(gctx->libctx, gctx->group_nid);
719 dh = ossl_dh_new_ex(gctx->libctx);
725 if (gctx->ffc_params != NULL
726 && !ossl_ffc_params_copy(ffc, gctx->ffc_params))
729 if (!ossl_ffc_params_set_seed(ffc, gctx->seed, gctx->seedlen))
731 if (gctx->gindex != -1) {
732 ossl_ffc_params_set_gindex(ffc, gctx->gindex);
733 if (gctx->pcounter != -1)
734 ossl_ffc_params_set_pcounter(ffc, gctx->pcounter);
735 } else if (gctx->hindex != 0) {
736 ossl_ffc_params_set_h(ffc, gctx->hindex);
738 if (gctx->mdname != NULL) {
739 if (!ossl_ffc_set_digest(ffc, gctx->mdname, gctx->mdprops))
742 gctx->cb = osslcb;
743 gctx->cbarg = cbarg;
748 if ((gctx->selection & OSSL_KEYMGMT_SELECT_DOMAIN_PARAMETERS) != 0) {
754 if (gctx->gen_type == DH_PARAMGEN_TYPE_GENERATOR)
755 ret = DH_generate_parameters_ex(dh, gctx->pbits,
756 gctx->generator, gencb);
758 ret = ossl_dh_generate_ffc_parameters(dh, gctx->gen_type,
759 gctx->pbits, gctx->qbits,
766 if ((gctx->selection & OSSL_KEYMGMT_SELECT_KEYPAIR) != 0) {
769 if (gctx->priv_len > 0)
770 DH_set_length(dh, (long)gctx->priv_len);
772 gctx->gen_type == DH_PARAMGEN_TYPE_FIPS_186_2);
777 DH_set_flags(dh, gctx->dh_type);
791 struct dh_gen_ctx *gctx = genctx;
793 if (gctx == NULL)
796 OPENSSL_free(gctx->mdname);
797 OPENSSL_free(gctx->mdprops);
798 OPENSSL_clear_free(gctx->seed, gctx->seedlen);
799 OPENSSL_free(gctx);