Lines Matching refs:gctx
409 struct dsa_gen_ctx *gctx = NULL; in dsa_gen_init() local
414 if ((gctx = OPENSSL_zalloc(sizeof(*gctx))) != NULL) { in dsa_gen_init()
415 gctx->selection = selection; in dsa_gen_init()
416 gctx->libctx = libctx; in dsa_gen_init()
417 gctx->pbits = 2048; in dsa_gen_init()
418 gctx->qbits = 224; in dsa_gen_init()
420 gctx->gen_type = DSA_PARAMGEN_TYPE_FIPS_186_4; in dsa_gen_init()
422 gctx->gen_type = DSA_PARAMGEN_TYPE_FIPS_DEFAULT; in dsa_gen_init()
424 gctx->gindex = -1; in dsa_gen_init()
425 gctx->pcounter = -1; in dsa_gen_init()
426 gctx->hindex = 0; in dsa_gen_init()
428 if (!dsa_gen_set_params(gctx, params)) { in dsa_gen_init()
429 dsa_gen_cleanup(gctx); in dsa_gen_init()
430 gctx = NULL; in dsa_gen_init()
432 return gctx; in dsa_gen_init()
437 struct dsa_gen_ctx *gctx = genctx; in dsa_gen_set_template() local
440 if (!ossl_prov_is_running() || gctx == NULL || dsa == NULL) in dsa_gen_set_template()
442 gctx->ffc_params = ossl_dsa_get0_params(dsa); in dsa_gen_set_template()
446 static int dsa_set_gen_seed(struct dsa_gen_ctx *gctx, unsigned char *seed, in dsa_set_gen_seed() argument
449 OPENSSL_clear_free(gctx->seed, gctx->seedlen); in dsa_set_gen_seed()
450 gctx->seed = NULL; in dsa_set_gen_seed()
451 gctx->seedlen = 0; in dsa_set_gen_seed()
453 gctx->seed = OPENSSL_memdup(seed, seedlen); in dsa_set_gen_seed()
454 if (gctx->seed == NULL) in dsa_set_gen_seed()
456 gctx->seedlen = seedlen; in dsa_set_gen_seed()
463 struct dsa_gen_ctx *gctx = genctx; in dsa_gen_set_params() local
466 if (gctx == NULL) in dsa_gen_set_params()
475 || ((gctx->gen_type = dsa_gen_type_name2id(p->data)) == -1)) { in dsa_gen_set_params()
482 && !OSSL_PARAM_get_int(p, &gctx->gindex)) in dsa_gen_set_params()
486 && !OSSL_PARAM_get_int(p, &gctx->pcounter)) in dsa_gen_set_params()
490 && !OSSL_PARAM_get_int(p, &gctx->hindex)) in dsa_gen_set_params()
495 || !dsa_set_gen_seed(gctx, p->data, p->data_size))) in dsa_gen_set_params()
498 && !OSSL_PARAM_get_size_t(p, &gctx->pbits)) in dsa_gen_set_params()
501 && !OSSL_PARAM_get_size_t(p, &gctx->qbits)) in dsa_gen_set_params()
507 OPENSSL_free(gctx->mdname); in dsa_gen_set_params()
508 gctx->mdname = OPENSSL_strdup(p->data); in dsa_gen_set_params()
509 if (gctx->mdname == NULL) in dsa_gen_set_params()
516 OPENSSL_free(gctx->mdprops); in dsa_gen_set_params()
517 gctx->mdprops = OPENSSL_strdup(p->data); in dsa_gen_set_params()
518 if (gctx->mdprops == NULL) in dsa_gen_set_params()
544 struct dsa_gen_ctx *gctx = BN_GENCB_get_arg(cb); in dsa_gencb() local
550 return gctx->cb(params, gctx->cbarg); in dsa_gencb()
555 struct dsa_gen_ctx *gctx = genctx; in dsa_gen() local
561 if (!ossl_prov_is_running() || gctx == NULL) in dsa_gen()
563 dsa = ossl_dsa_new(gctx->libctx); in dsa_gen()
567 if (gctx->gen_type == DSA_PARAMGEN_TYPE_FIPS_DEFAULT) in dsa_gen()
568 gctx->gen_type = (gctx->pbits >= 2048 ? DSA_PARAMGEN_TYPE_FIPS_186_4 : in dsa_gen()
571 gctx->cb = osslcb; in dsa_gen()
572 gctx->cbarg = cbarg; in dsa_gen()
579 if (gctx->ffc_params != NULL in dsa_gen()
580 && !ossl_ffc_params_copy(ffc, gctx->ffc_params)) in dsa_gen()
583 if (gctx->seed != NULL in dsa_gen()
584 && !ossl_ffc_params_set_seed(ffc, gctx->seed, gctx->seedlen)) in dsa_gen()
586 if (gctx->gindex != -1) { in dsa_gen()
587 ossl_ffc_params_set_gindex(ffc, gctx->gindex); in dsa_gen()
588 if (gctx->pcounter != -1) in dsa_gen()
589 ossl_ffc_params_set_pcounter(ffc, gctx->pcounter); in dsa_gen()
590 } else if (gctx->hindex != 0) { in dsa_gen()
591 ossl_ffc_params_set_h(ffc, gctx->hindex); in dsa_gen()
593 if (gctx->mdname != NULL) { in dsa_gen()
594 if (!ossl_ffc_set_digest(ffc, gctx->mdname, gctx->mdprops)) in dsa_gen()
597 if ((gctx->selection & OSSL_KEYMGMT_SELECT_DOMAIN_PARAMETERS) != 0) { in dsa_gen()
599 if (ossl_dsa_generate_ffc_parameters(dsa, gctx->gen_type, in dsa_gen()
600 gctx->pbits, gctx->qbits, in dsa_gen()
605 gctx->gen_type == DSA_PARAMGEN_TYPE_FIPS_186_2); in dsa_gen()
606 if ((gctx->selection & OSSL_KEYMGMT_SELECT_KEYPAIR) != 0) { in dsa_gen()
626 struct dsa_gen_ctx *gctx = genctx; in dsa_gen_cleanup() local
628 if (gctx == NULL) in dsa_gen_cleanup()
631 OPENSSL_free(gctx->mdname); in dsa_gen_cleanup()
632 OPENSSL_free(gctx->mdprops); in dsa_gen_cleanup()
633 OPENSSL_clear_free(gctx->seed, gctx->seedlen); in dsa_gen_cleanup()
634 OPENSSL_free(gctx); in dsa_gen_cleanup()