/* Construct ECGroup from named parameters. */ ECGroup * ECGroup_fromName(const ECCurveName name) { ECGroup *group = NULL; ECCurveParams *params = NULL; mp_err res = MP_OKAY; params = EC_GetNamedCurveParams(name); if (params == NULL) { res = MP_UNDEF; goto CLEANUP; } /* construct actual group */ group = ecgroup_fromNameAndHex(name, params); if (group == NULL) { res = MP_UNDEF; goto CLEANUP; } CLEANUP: EC_FreeCurveParams(params); if (res != MP_OKAY) { ECGroup_free(group); return NULL; } return group; }
/* Construct ECGroup from hexadecimal representations of parameters. */ ECGroup * ECGroup_fromHex(const ECCurveParams * params) { return ecgroup_fromNameAndHex(ECCurve_noName, params); }
/* Construct ECGroup from hexadecimal representations of parameters. */ ECGroup * ECGroup_fromHex(const ECCurveParams * params, int kmflag) { return ecgroup_fromNameAndHex(ECCurve_noName, params, kmflag); }