Example #1
0
/* 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;
}
Example #2
0
/* Construct ECGroup from hexadecimal representations of parameters. */
ECGroup *
ECGroup_fromHex(const ECCurveParams * params)
{
    return ecgroup_fromNameAndHex(ECCurve_noName, params);
}
Example #3
0
/* Construct ECGroup from hexadecimal representations of parameters. */
ECGroup *
ECGroup_fromHex(const ECCurveParams * params, int kmflag)
{
	return ecgroup_fromNameAndHex(ECCurve_noName, params, kmflag);
}