Lines Matching refs:gctx

970     struct ec_gen_ctx *gctx = NULL;  in ec_gen_init()  local
975 if ((gctx = OPENSSL_zalloc(sizeof(*gctx))) != NULL) { in ec_gen_init()
976 gctx->libctx = libctx; in ec_gen_init()
977 gctx->selection = selection; in ec_gen_init()
978 gctx->ecdh_mode = 0; in ec_gen_init()
980 if (!ec_gen_set_params(gctx, params)) { in ec_gen_init()
981 OPENSSL_free(gctx); in ec_gen_init()
982 gctx = NULL; in ec_gen_init()
984 return gctx; in ec_gen_init()
992 struct ec_gen_ctx *gctx = ec_gen_init(provctx, selection, params); in sm2_gen_init() local
994 if (gctx != NULL) { in sm2_gen_init()
995 if (gctx->group_name != NULL) in sm2_gen_init()
996 return gctx; in sm2_gen_init()
997 if ((gctx->group_name = OPENSSL_strdup("sm2")) != NULL) in sm2_gen_init()
998 return gctx; in sm2_gen_init()
1000 ec_gen_cleanup(gctx); in sm2_gen_init()
1009 struct ec_gen_ctx *gctx = genctx; in ec_gen_set_group() local
1017 EC_GROUP_free(gctx->gen_group); in ec_gen_set_group()
1018 gctx->gen_group = group; in ec_gen_set_group()
1024 struct ec_gen_ctx *gctx = genctx; in ec_gen_set_template() local
1028 if (!ossl_prov_is_running() || gctx == NULL || ec == NULL) in ec_gen_set_template()
1032 return ec_gen_set_group(gctx, ec_group); in ec_gen_set_template()
1075 struct ec_gen_ctx *gctx = genctx; in ec_gen_set_params() local
1079 COPY_INT_PARAM(params, OSSL_PKEY_PARAM_USE_COFACTOR_ECDH, gctx->ecdh_mode); in ec_gen_set_params()
1081 COPY_UTF8_PARAM(params, OSSL_PKEY_PARAM_GROUP_NAME, gctx->group_name); in ec_gen_set_params()
1082 COPY_UTF8_PARAM(params, OSSL_PKEY_PARAM_EC_FIELD_TYPE, gctx->field_type); in ec_gen_set_params()
1083 COPY_UTF8_PARAM(params, OSSL_PKEY_PARAM_EC_ENCODING, gctx->encoding); in ec_gen_set_params()
1084 COPY_UTF8_PARAM(params, OSSL_PKEY_PARAM_EC_POINT_CONVERSION_FORMAT, gctx->pt_format); in ec_gen_set_params()
1085 COPY_UTF8_PARAM(params, OSSL_PKEY_PARAM_EC_GROUP_CHECK_TYPE, gctx->group_check); in ec_gen_set_params()
1087 COPY_BN_PARAM(params, OSSL_PKEY_PARAM_EC_P, gctx->p); in ec_gen_set_params()
1088 COPY_BN_PARAM(params, OSSL_PKEY_PARAM_EC_A, gctx->a); in ec_gen_set_params()
1089 COPY_BN_PARAM(params, OSSL_PKEY_PARAM_EC_B, gctx->b); in ec_gen_set_params()
1090 COPY_BN_PARAM(params, OSSL_PKEY_PARAM_EC_ORDER, gctx->order); in ec_gen_set_params()
1091 COPY_BN_PARAM(params, OSSL_PKEY_PARAM_EC_COFACTOR, gctx->cofactor); in ec_gen_set_params()
1093 COPY_OCTET_PARAM(params, OSSL_PKEY_PARAM_EC_SEED, gctx->seed, gctx->seed_len); in ec_gen_set_params()
1094 COPY_OCTET_PARAM(params, OSSL_PKEY_PARAM_EC_GENERATOR, gctx->gen, in ec_gen_set_params()
1095 gctx->gen_len); in ec_gen_set_params()
1103 static int ec_gen_set_group_from_params(struct ec_gen_ctx *gctx) in ec_gen_set_group_from_params() argument
1114 if (gctx->encoding != NULL in ec_gen_set_group_from_params()
1116 gctx->encoding, 0)) in ec_gen_set_group_from_params()
1119 if (gctx->pt_format != NULL in ec_gen_set_group_from_params()
1122 gctx->pt_format, 0)) in ec_gen_set_group_from_params()
1125 if (gctx->group_name != NULL) { in ec_gen_set_group_from_params()
1127 gctx->group_name, 0)) in ec_gen_set_group_from_params()
1131 } else if (gctx->field_type != NULL) { in ec_gen_set_group_from_params()
1133 gctx->field_type, 0)) in ec_gen_set_group_from_params()
1138 if (gctx->p == NULL in ec_gen_set_group_from_params()
1139 || gctx->a == NULL in ec_gen_set_group_from_params()
1140 || gctx->b == NULL in ec_gen_set_group_from_params()
1141 || gctx->order == NULL in ec_gen_set_group_from_params()
1142 || !OSSL_PARAM_BLD_push_BN(bld, OSSL_PKEY_PARAM_EC_P, gctx->p) in ec_gen_set_group_from_params()
1143 || !OSSL_PARAM_BLD_push_BN(bld, OSSL_PKEY_PARAM_EC_A, gctx->a) in ec_gen_set_group_from_params()
1144 || !OSSL_PARAM_BLD_push_BN(bld, OSSL_PKEY_PARAM_EC_B, gctx->b) in ec_gen_set_group_from_params()
1145 || !OSSL_PARAM_BLD_push_BN(bld, OSSL_PKEY_PARAM_EC_ORDER, gctx->order)) in ec_gen_set_group_from_params()
1148 if (gctx->cofactor != NULL in ec_gen_set_group_from_params()
1150 gctx->cofactor)) in ec_gen_set_group_from_params()
1153 if (gctx->seed != NULL in ec_gen_set_group_from_params()
1155 gctx->seed, gctx->seed_len)) in ec_gen_set_group_from_params()
1158 if (gctx->gen == NULL in ec_gen_set_group_from_params()
1160 gctx->gen, gctx->gen_len)) in ec_gen_set_group_from_params()
1166 group = EC_GROUP_new_from_params(params, gctx->libctx, NULL); in ec_gen_set_group_from_params()
1170 EC_GROUP_free(gctx->gen_group); in ec_gen_set_group_from_params()
1171 gctx->gen_group = group; in ec_gen_set_group_from_params()
1216 struct ec_gen_ctx *gctx = genctx; in ec_gen() local
1221 || gctx == NULL in ec_gen()
1222 || (ec = EC_KEY_new_ex(gctx->libctx, NULL)) == NULL) in ec_gen()
1225 if (gctx->gen_group == NULL) { in ec_gen()
1226 if (!ec_gen_set_group_from_params(gctx)) in ec_gen()
1229 if (gctx->encoding != NULL) { in ec_gen()
1230 int flags = ossl_ec_encoding_name2id(gctx->encoding); in ec_gen()
1234 EC_GROUP_set_asn1_flag(gctx->gen_group, flags); in ec_gen()
1236 if (gctx->pt_format != NULL) { in ec_gen()
1237 int format = ossl_ec_pt_format_name2id(gctx->pt_format); in ec_gen()
1241 EC_GROUP_set_point_conversion_form(gctx->gen_group, format); in ec_gen()
1246 ret = ec_gen_assign_group(ec, gctx->gen_group); in ec_gen()
1249 if ((gctx->selection & OSSL_KEYMGMT_SELECT_KEYPAIR) != 0) in ec_gen()
1252 if (gctx->ecdh_mode != -1) in ec_gen()
1253 ret = ret && ossl_ec_set_ecdh_cofactor_mode(ec, gctx->ecdh_mode); in ec_gen()
1255 if (gctx->group_check != NULL) in ec_gen()
1256 ret = ret && ossl_ec_set_check_group_type_from_name(ec, gctx->group_check); in ec_gen()
1272 struct ec_gen_ctx *gctx = genctx; in sm2_gen() local
1276 if (gctx == NULL in sm2_gen()
1277 || (ec = EC_KEY_new_ex(gctx->libctx, NULL)) == NULL) in sm2_gen()
1280 if (gctx->gen_group == NULL) { in sm2_gen()
1281 if (!ec_gen_set_group_from_params(gctx)) in sm2_gen()
1284 if (gctx->encoding) { in sm2_gen()
1285 int flags = ossl_ec_encoding_name2id(gctx->encoding); in sm2_gen()
1289 EC_GROUP_set_asn1_flag(gctx->gen_group, flags); in sm2_gen()
1291 if (gctx->pt_format != NULL) { in sm2_gen()
1292 int format = ossl_ec_pt_format_name2id(gctx->pt_format); in sm2_gen()
1296 EC_GROUP_set_point_conversion_form(gctx->gen_group, format); in sm2_gen()
1301 ret = ec_gen_assign_group(ec, gctx->gen_group); in sm2_gen()
1304 if ((gctx->selection & OSSL_KEYMGMT_SELECT_KEYPAIR) != 0) in sm2_gen()
1319 struct ec_gen_ctx *gctx = genctx; in ec_gen_cleanup() local
1321 if (gctx == NULL) in ec_gen_cleanup()
1324 EC_GROUP_free(gctx->gen_group); in ec_gen_cleanup()
1325 BN_free(gctx->p); in ec_gen_cleanup()
1326 BN_free(gctx->a); in ec_gen_cleanup()
1327 BN_free(gctx->b); in ec_gen_cleanup()
1328 BN_free(gctx->order); in ec_gen_cleanup()
1329 BN_free(gctx->cofactor); in ec_gen_cleanup()
1330 OPENSSL_free(gctx->group_name); in ec_gen_cleanup()
1331 OPENSSL_free(gctx->field_type); in ec_gen_cleanup()
1332 OPENSSL_free(gctx->pt_format); in ec_gen_cleanup()
1333 OPENSSL_free(gctx->encoding); in ec_gen_cleanup()
1334 OPENSSL_free(gctx->seed); in ec_gen_cleanup()
1335 OPENSSL_free(gctx->gen); in ec_gen_cleanup()
1336 OPENSSL_free(gctx); in ec_gen_cleanup()