Lines Matching refs:gctx

998     struct ec_gen_ctx *gctx = NULL;  in ec_gen_init()  local
1003 if ((gctx = OPENSSL_zalloc(sizeof(*gctx))) != NULL) { in ec_gen_init()
1004 gctx->libctx = libctx; in ec_gen_init()
1005 gctx->selection = selection; in ec_gen_init()
1006 gctx->ecdh_mode = 0; in ec_gen_init()
1007 if (!ec_gen_set_params(gctx, params)) { in ec_gen_init()
1008 OPENSSL_free(gctx); in ec_gen_init()
1009 gctx = NULL; in ec_gen_init()
1012 return gctx; in ec_gen_init()
1020 struct ec_gen_ctx *gctx = ec_gen_init(provctx, selection, params); in sm2_gen_init() local
1022 if (gctx != NULL) { in sm2_gen_init()
1023 if (gctx->group_name != NULL) in sm2_gen_init()
1024 return gctx; in sm2_gen_init()
1025 if ((gctx->group_name = OPENSSL_strdup("sm2")) != NULL) in sm2_gen_init()
1026 return gctx; in sm2_gen_init()
1028 ec_gen_cleanup(gctx); in sm2_gen_init()
1037 struct ec_gen_ctx *gctx = genctx; in ec_gen_set_group() local
1045 EC_GROUP_free(gctx->gen_group); in ec_gen_set_group()
1046 gctx->gen_group = group; in ec_gen_set_group()
1052 struct ec_gen_ctx *gctx = genctx; in ec_gen_set_template() local
1056 if (!ossl_prov_is_running() || gctx == NULL || ec == NULL) in ec_gen_set_template()
1060 return ec_gen_set_group(gctx, ec_group); in ec_gen_set_template()
1103 struct ec_gen_ctx *gctx = genctx; in ec_gen_set_params() local
1107 COPY_INT_PARAM(params, OSSL_PKEY_PARAM_USE_COFACTOR_ECDH, gctx->ecdh_mode); in ec_gen_set_params()
1109 COPY_UTF8_PARAM(params, OSSL_PKEY_PARAM_GROUP_NAME, gctx->group_name); in ec_gen_set_params()
1110 COPY_UTF8_PARAM(params, OSSL_PKEY_PARAM_EC_FIELD_TYPE, gctx->field_type); in ec_gen_set_params()
1111 COPY_UTF8_PARAM(params, OSSL_PKEY_PARAM_EC_ENCODING, gctx->encoding); in ec_gen_set_params()
1112 COPY_UTF8_PARAM(params, OSSL_PKEY_PARAM_EC_POINT_CONVERSION_FORMAT, gctx->pt_format); in ec_gen_set_params()
1113 COPY_UTF8_PARAM(params, OSSL_PKEY_PARAM_EC_GROUP_CHECK_TYPE, gctx->group_check); in ec_gen_set_params()
1115 COPY_BN_PARAM(params, OSSL_PKEY_PARAM_EC_P, gctx->p); in ec_gen_set_params()
1116 COPY_BN_PARAM(params, OSSL_PKEY_PARAM_EC_A, gctx->a); in ec_gen_set_params()
1117 COPY_BN_PARAM(params, OSSL_PKEY_PARAM_EC_B, gctx->b); in ec_gen_set_params()
1118 COPY_BN_PARAM(params, OSSL_PKEY_PARAM_EC_ORDER, gctx->order); in ec_gen_set_params()
1119 COPY_BN_PARAM(params, OSSL_PKEY_PARAM_EC_COFACTOR, gctx->cofactor); in ec_gen_set_params()
1121 COPY_OCTET_PARAM(params, OSSL_PKEY_PARAM_EC_SEED, gctx->seed, gctx->seed_len); in ec_gen_set_params()
1122 COPY_OCTET_PARAM(params, OSSL_PKEY_PARAM_EC_GENERATOR, gctx->gen, in ec_gen_set_params()
1123 gctx->gen_len); in ec_gen_set_params()
1131 static int ec_gen_set_group_from_params(struct ec_gen_ctx *gctx) in ec_gen_set_group_from_params() argument
1142 if (gctx->encoding != NULL in ec_gen_set_group_from_params()
1144 gctx->encoding, 0)) in ec_gen_set_group_from_params()
1147 if (gctx->pt_format != NULL in ec_gen_set_group_from_params()
1150 gctx->pt_format, 0)) in ec_gen_set_group_from_params()
1153 if (gctx->group_name != NULL) { in ec_gen_set_group_from_params()
1155 gctx->group_name, 0)) in ec_gen_set_group_from_params()
1159 } else if (gctx->field_type != NULL) { in ec_gen_set_group_from_params()
1161 gctx->field_type, 0)) in ec_gen_set_group_from_params()
1166 if (gctx->p == NULL in ec_gen_set_group_from_params()
1167 || gctx->a == NULL in ec_gen_set_group_from_params()
1168 || gctx->b == NULL in ec_gen_set_group_from_params()
1169 || gctx->order == NULL in ec_gen_set_group_from_params()
1170 || !OSSL_PARAM_BLD_push_BN(bld, OSSL_PKEY_PARAM_EC_P, gctx->p) in ec_gen_set_group_from_params()
1171 || !OSSL_PARAM_BLD_push_BN(bld, OSSL_PKEY_PARAM_EC_A, gctx->a) in ec_gen_set_group_from_params()
1172 || !OSSL_PARAM_BLD_push_BN(bld, OSSL_PKEY_PARAM_EC_B, gctx->b) in ec_gen_set_group_from_params()
1173 || !OSSL_PARAM_BLD_push_BN(bld, OSSL_PKEY_PARAM_EC_ORDER, gctx->order)) in ec_gen_set_group_from_params()
1176 if (gctx->cofactor != NULL in ec_gen_set_group_from_params()
1178 gctx->cofactor)) in ec_gen_set_group_from_params()
1181 if (gctx->seed != NULL in ec_gen_set_group_from_params()
1183 gctx->seed, gctx->seed_len)) in ec_gen_set_group_from_params()
1186 if (gctx->gen == NULL in ec_gen_set_group_from_params()
1188 gctx->gen, gctx->gen_len)) in ec_gen_set_group_from_params()
1194 group = EC_GROUP_new_from_params(params, gctx->libctx, NULL); in ec_gen_set_group_from_params()
1198 EC_GROUP_free(gctx->gen_group); in ec_gen_set_group_from_params()
1199 gctx->gen_group = group; in ec_gen_set_group_from_params()
1244 struct ec_gen_ctx *gctx = genctx; in ec_gen() local
1249 || gctx == NULL in ec_gen()
1250 || (ec = EC_KEY_new_ex(gctx->libctx, NULL)) == NULL) in ec_gen()
1253 if (gctx->gen_group == NULL) { in ec_gen()
1254 if (!ec_gen_set_group_from_params(gctx)) in ec_gen()
1257 if (gctx->encoding != NULL) { in ec_gen()
1258 int flags = ossl_ec_encoding_name2id(gctx->encoding); in ec_gen()
1262 EC_GROUP_set_asn1_flag(gctx->gen_group, flags); in ec_gen()
1264 if (gctx->pt_format != NULL) { in ec_gen()
1265 int format = ossl_ec_pt_format_name2id(gctx->pt_format); in ec_gen()
1269 EC_GROUP_set_point_conversion_form(gctx->gen_group, format); in ec_gen()
1274 ret = ec_gen_assign_group(ec, gctx->gen_group); in ec_gen()
1277 if ((gctx->selection & OSSL_KEYMGMT_SELECT_KEYPAIR) != 0) in ec_gen()
1280 if (gctx->ecdh_mode != -1) in ec_gen()
1281 ret = ret && ossl_ec_set_ecdh_cofactor_mode(ec, gctx->ecdh_mode); in ec_gen()
1283 if (gctx->group_check != NULL) in ec_gen()
1284 ret = ret && ossl_ec_set_check_group_type_from_name(ec, gctx->group_check); in ec_gen()
1300 struct ec_gen_ctx *gctx = genctx; in sm2_gen() local
1304 if (gctx == NULL in sm2_gen()
1305 || (ec = EC_KEY_new_ex(gctx->libctx, NULL)) == NULL) in sm2_gen()
1308 if (gctx->gen_group == NULL) { in sm2_gen()
1309 if (!ec_gen_set_group_from_params(gctx)) in sm2_gen()
1312 if (gctx->encoding) { in sm2_gen()
1313 int flags = ossl_ec_encoding_name2id(gctx->encoding); in sm2_gen()
1317 EC_GROUP_set_asn1_flag(gctx->gen_group, flags); in sm2_gen()
1319 if (gctx->pt_format != NULL) { in sm2_gen()
1320 int format = ossl_ec_pt_format_name2id(gctx->pt_format); in sm2_gen()
1324 EC_GROUP_set_point_conversion_form(gctx->gen_group, format); in sm2_gen()
1329 ret = ec_gen_assign_group(ec, gctx->gen_group); in sm2_gen()
1332 if ((gctx->selection & OSSL_KEYMGMT_SELECT_KEYPAIR) != 0) in sm2_gen()
1347 struct ec_gen_ctx *gctx = genctx; in ec_gen_cleanup() local
1349 if (gctx == NULL) in ec_gen_cleanup()
1352 EC_GROUP_free(gctx->gen_group); in ec_gen_cleanup()
1353 BN_free(gctx->p); in ec_gen_cleanup()
1354 BN_free(gctx->a); in ec_gen_cleanup()
1355 BN_free(gctx->b); in ec_gen_cleanup()
1356 BN_free(gctx->order); in ec_gen_cleanup()
1357 BN_free(gctx->cofactor); in ec_gen_cleanup()
1358 OPENSSL_free(gctx->group_name); in ec_gen_cleanup()
1359 OPENSSL_free(gctx->field_type); in ec_gen_cleanup()
1360 OPENSSL_free(gctx->pt_format); in ec_gen_cleanup()
1361 OPENSSL_free(gctx->encoding); in ec_gen_cleanup()
1362 OPENSSL_free(gctx->seed); in ec_gen_cleanup()
1363 OPENSSL_free(gctx->gen); in ec_gen_cleanup()
1364 OPENSSL_free(gctx); in ec_gen_cleanup()