Make no-ec2m work again.

This commit is contained in:
Dr. Stephen Henson 2011-03-10 01:00:30 +00:00
parent f52e552a93
commit 1acc24a8ba
3 changed files with 45 additions and 3 deletions

View File

@ -88,8 +88,15 @@ int EC_POINT_set_compressed_coordinates_GFp(const EC_GROUP *group, EC_POINT *poi
return ec_GFp_simple_set_compressed_coordinates(
group, point, x, y_bit, ctx);
else
#ifdef OPENSSL_NO_EC2M
{
ECerr(EC_F_EC_POINT_SET_COMPRESSED_COORDINATES_GFP, EC_R_GF2M_NOT_SUPPORTED);
return 0;
}
#else
return ec_GF2m_simple_set_compressed_coordinates(
group, point, x, y_bit, ctx);
#endif
}
return group->meth->point_set_compressed_coordinates(group, point, x, y_bit, ctx);
}
@ -142,8 +149,15 @@ size_t EC_POINT_point2oct(const EC_GROUP *group, const EC_POINT *point, point_co
return ec_GFp_simple_point2oct(group, point,
form, buf, len, ctx);
else
#ifdef OPENSSL_NO_EC2M
{
ECerr(EC_F_EC_POINT_POINT2OCT, EC_R_GF2M_NOT_SUPPORTED);
return 0;
}
#else
return ec_GF2m_simple_point2oct(group, point,
form, buf, len, ctx);
#endif
}
return group->meth->point2oct(group, point, form, buf, len, ctx);
@ -170,8 +184,15 @@ int EC_POINT_oct2point(const EC_GROUP *group, EC_POINT *point,
return ec_GFp_simple_oct2point(group, point,
buf, len, ctx);
else
#ifdef OPENSSL_NO_EC2M
{
ECerr(EC_F_EC_POINT_OCT2POINT, EC_R_GF2M_NOT_SUPPORTED);
return 0;
}
#else
return ec_GF2m_simple_oct2point(group, point,
buf, len, ctx);
#endif
}
return group->meth->oct2point(group, point, buf, len, ctx);
}

View File

@ -171,10 +171,17 @@ static EC_POINT *make_peer(EC_GROUP *group, BIGNUM *x, BIGNUM *y)
return NULL;
c = BN_CTX_new();
if (EC_METHOD_get_field_type(EC_GROUP_method_of(group))
== NID_X9_62_characteristic_two_field)
rv = EC_POINT_set_affine_coordinates_GF2m(group, peer, x, y, c);
else
== NID_X9_62_prime_field)
rv = EC_POINT_set_affine_coordinates_GFp(group, peer, x, y, c);
else
#ifdef OPENSSL_NO_EC2M
{
fprintf(stderr, "ERROR: GF2m not supported\n");
exit(1);
}
#else
rv = EC_POINT_set_affine_coordinates_GF2m(group, peer, x, y, c);
#endif
BN_CTX_free(c);
if (rv)
@ -204,7 +211,14 @@ static int ec_print_pubkey(FILE *out, EC_KEY *key)
if (EC_METHOD_get_field_type(meth) == NID_X9_62_prime_field)
rv = EC_POINT_get_affine_coordinates_GFp(grp, pt, tx, ty, ctx);
else
#ifdef OPENSSL_NO_EC2M
{
fprintf(stderr, "ERROR: GF2m not supported\n");
exit(1);
}
#else
rv = EC_POINT_get_affine_coordinates_GF2m(grp, pt, tx, ty, ctx);
#endif
do_bn_print_name(out, "QeIUTx", tx);
do_bn_print_name(out, "QeIUTy", ty);

View File

@ -169,7 +169,14 @@ static int ec_get_pubkey(EC_KEY *key, BIGNUM *x, BIGNUM *y)
if (EC_METHOD_get_field_type(meth) == NID_X9_62_prime_field)
rv = EC_POINT_get_affine_coordinates_GFp(grp, pt, x, y, ctx);
else
#ifdef OPENSSL_NO_EC2M
{
fprintf(stderr, "ERROR: GF2m not supported\n");
exit(1);
}
#else
rv = EC_POINT_get_affine_coordinates_GF2m(grp, pt, x, y, ctx);
#endif
BN_CTX_free(ctx);