static ECPARAMETERS *ec_asn1_group2parameters(const EC_GROUP *group,
ECPARAMETERS *param)
{
- int ok=0, i;
+ int ok=0;
size_t len=0;
ECPARAMETERS *ret=NULL;
BIGNUM *tmp=NULL;
goto err;
}
- i = EC_GROUP_get_asn1_flag(group);
- if (i | OPENSSL_EC_COMPRESSED)
- form = POINT_CONVERSION_COMPRESSED;
- else if (i | OPENSSL_EC_UNCOMPRESSED)
- form = POINT_CONVERSION_UNCOMPRESSED;
- else if (i | OPENSSL_EC_HYBRID)
- form = POINT_CONVERSION_HYBRID;
- else
- goto err;
+ form = EC_GROUP_get_point_conversion_form(group);
len = EC_POINT_point2oct(group, point, form, NULL, len, NULL);
if (len == 0)
ECPARAMETERS_free(ret->value.parameters);
}
- tmp = EC_GROUP_get_asn1_flag(group);
-
- if (tmp & OPENSSL_EC_NAMED_CURVE)
+ if (EC_GROUP_get_asn1_flag(group))
{
/* use the asn1 OID to describe the
* the elliptic curve parameters
ok = 0;
}
}
- else if (tmp & OPENSSL_EC_EXPLICIT)
+ else
{
/* use the ECPARAMETERS structure */
ret->type = 1;
group, NULL)) == NULL)
ok = 0;
}
- else
- ok = 0;
if (!ok)
{
EC_R_EC_GROUP_NEW_BY_NAME_FAILURE);
return NULL;
}
- tmp = EC_GROUP_get_asn1_flag(ret);
- tmp = (tmp & ~0x03) | OPENSSL_EC_NAMED_CURVE;
- EC_GROUP_set_asn1_flag(ret, tmp);
+ EC_GROUP_set_asn1_flag(ret, OPENSSL_EC_NAMED_CURVE);
}
else if (params->type == 1)
{ /* the parameters are given by a ECPARAMETERS
ECerr(EC_F_EC_ASN1_PKPARAMETERS2GROUP, ERR_R_EC_LIB);
return NULL;
}
- tmp = EC_GROUP_get_asn1_flag(ret);
- tmp = (tmp & ~0x03) | OPENSSL_EC_EXPLICIT;
- EC_GROUP_set_asn1_flag(ret, tmp);
+ EC_GROUP_set_asn1_flag(ret, 0x0);
}
else if (params->type == 2)
{ /* implicitlyCA */