Remove EC_GROUP_new_arbitrary.
The Conscrypt revert cycled in long ago.
Change-Id: If3cdb211d7347dca88bd70bdc643f80b19a7e528
Reviewed-on: https://boringssl-review.googlesource.com/8306
Reviewed-by: Adam Langley <agl@google.com>
diff --git a/crypto/ec/ec.c b/crypto/ec/ec.c
index 8f3fa6e..1d1ebb6 100644
--- a/crypto/ec/ec.c
+++ b/crypto/ec/ec.c
@@ -404,39 +404,6 @@
BN_copy(&group->cofactor, cofactor);
}
-EC_GROUP *EC_GROUP_new_arbitrary(const BIGNUM *p, const BIGNUM *a,
- const BIGNUM *b, const BIGNUM *gx,
- const BIGNUM *gy, const BIGNUM *order,
- const BIGNUM *cofactor) {
- BN_CTX *ctx = BN_CTX_new();
- if (ctx == NULL) {
- return NULL;
- }
-
- EC_POINT *generator = NULL;
- EC_GROUP *ret = EC_GROUP_new_curve_GFp(p, a, b, ctx);
- if (ret == NULL) {
- goto err;
- }
-
- generator = EC_POINT_new(ret);
- if (generator == NULL ||
- !EC_POINT_set_affine_coordinates_GFp(ret, generator, gx, gy, ctx) ||
- !EC_GROUP_set_generator(ret, generator, order, cofactor)) {
- goto err;
- }
-
- EC_POINT_free(generator);
- BN_CTX_free(ctx);
- return ret;
-
-err:
- EC_POINT_free(generator);
- EC_GROUP_free(ret);
- BN_CTX_free(ctx);
- return NULL;
-}
-
static EC_GROUP *ec_group_new_from_data(unsigned built_in_index) {
const struct built_in_curve *curve = &OPENSSL_built_in_curves[built_in_index];
EC_GROUP *group = NULL;
diff --git a/crypto/ec/ec_test.cc b/crypto/ec/ec_test.cc
index ce9d99f..23befeb 100644
--- a/crypto/ec/ec_test.cc
+++ b/crypto/ec/ec_test.cc
@@ -404,37 +404,6 @@
return false;
}
- // Repeat the process for |EC_GROUP_new_arbitrary|.
- group.reset(EC_GROUP_new_arbitrary(p.get(), a.get(), b.get(), gx.get(),
- gy.get(), order.get(), cofactor.get()));
- if (!group) {
- return false;
- }
-
- // |group| should not have a curve name.
- if (EC_GROUP_get_curve_name(group.get()) != NID_undef) {
- return false;
- }
-
- // Copy |key| to |key2| using |group|.
- key2.reset(EC_KEY_new());
- point.reset(EC_POINT_new(group.get()));
- if (!key2 || !point ||
- !EC_KEY_set_group(key2.get(), group.get()) ||
- !EC_KEY_set_private_key(key2.get(), EC_KEY_get0_private_key(key.get())) ||
- !EC_POINT_set_affine_coordinates_GFp(group.get(), point.get(), x.get(),
- y.get(), nullptr) ||
- !EC_KEY_set_public_key(key2.get(), point.get())) {
- fprintf(stderr, "Could not copy key.\n");
- return false;
- }
-
- // The key must be valid according to the new group too.
- if (!EC_KEY_check_key(key2.get())) {
- fprintf(stderr, "Copied key is not valid.\n");
- return false;
- }
-
return true;
}
diff --git a/include/openssl/ec.h b/include/openssl/ec.h
index 143aa96..05218f3 100644
--- a/include/openssl/ec.h
+++ b/include/openssl/ec.h
@@ -315,15 +315,6 @@
const BIGNUM *order,
const BIGNUM *cofactor);
-/* EC_GROUP_new_arbitrary calls |EC_GROUP_new_curve_GFp| and
- * |EC_GROUP_set_generator|.
- *
- * TODO(davidben): Remove this once
- * https://android-review.googlesource.com/#/c/207990/ has cycled in. */
-OPENSSL_EXPORT EC_GROUP *EC_GROUP_new_arbitrary(
- const BIGNUM *p, const BIGNUM *a, const BIGNUM *b, const BIGNUM *gx,
- const BIGNUM *gy, const BIGNUM *order, const BIGNUM *cofactor);
-
/* EC_GROUP_get_order sets |*order| to the order of |group|, if it's not
* NULL. It returns one on success and zero otherwise. |ctx| is ignored. Use
* |EC_GROUP_get0_order| instead. */