-EC_GROUP *EC_GROUP_nid2group(const int nid)
- {
- switch(nid)
- {
- case NID_X9_62_prime192v1:
- return EC_GROUP_get_group_by_name(EC_GROUP_X9_62_PRIME_192V1);
- case NID_X9_62_prime192v2:
- return EC_GROUP_get_group_by_name(EC_GROUP_X9_62_PRIME_192V2);
- case NID_X9_62_prime192v3:
- return EC_GROUP_get_group_by_name(EC_GROUP_X9_62_PRIME_192V3);
- case NID_X9_62_prime239v1:
- return EC_GROUP_get_group_by_name(EC_GROUP_X9_62_PRIME_239V1);
- case NID_X9_62_prime239v2:
- return EC_GROUP_get_group_by_name(EC_GROUP_X9_62_PRIME_239V2);
- case NID_X9_62_prime239v3:
- return EC_GROUP_get_group_by_name(EC_GROUP_X9_62_PRIME_239V3);
- case NID_X9_62_prime256v1:
- return EC_GROUP_get_group_by_name(EC_GROUP_X9_62_PRIME_256V1);
- }
- ECerr(EC_F_EC_GROUP_NID2GROUP, EC_R_UNKNOWN_NID);
- return NULL;
- }
-
-int EC_GROUP_group2nid(const EC_GROUP *group)
- {
- return EC_GROUP_get_nid(group);
-
-#if 0
-/* TODO: a real compare function for EC_GROUPs */
-#define EC_GROUP_cmp(a,b) ((a) != (b))
-
- if (group == NULL)
- {
- ECerr(EC_F_EC_GROUP_GROUP2NID, EC_R_MISSING_PARAMETERS);
- return 0;
- }
- if (!EC_GROUP_cmp(group, EC_GROUP_GET_X9_62_192V1_GROUP()))
- return NID_X9_62_prime192v1;
- else if (!EC_GROUP_cmp(group, EC_GROUP_get_x9_62_192v2_group()))
- return NID_X9_62_prime192v2;
- else if (!EC_GROUP_cmp(group, EC_GROUP_get_x9_62_192v3_group()))
- return NID_X9_62_prime192v3;
- else if (!EC_GROUP_cmp(group, EC_GROUP_get_x9_62_239v1_group()))
- return NID_X9_62_prime239v1;
- else if (!EC_GROUP_cmp(group, EC_GROUP_get_x9_62_239v2_group()))
- return NID_X9_62_prime239v2;
- else if (!EC_GROUP_cmp(group, EC_GROUP_get_x9_62_239v3_group()))
- return NID_X9_62_prime239v3;
- else if (!EC_GROUP_cmp(group, EC_GROUP_get_x9_62_256v1_group()))
- return NID_X9_62_prime256v1;
- ECerr(EC_F_EC_GROUP_GROUP2NID, EC_R_UNKNOWN_GROUP);
- return 0;
-#endif
- }
-
-static EC_GROUP *ec_group_set_prime_group(const char *prime_in,