add implementation of EC_KEY_set_group

This commit is contained in:
JacobBarthelmeh
2021-04-05 22:08:43 +07:00
parent fd94d05b0a
commit 63c96c3585
2 changed files with 40 additions and 8 deletions

View File

@@ -36380,8 +36380,8 @@ WOLFSSL_EC_KEY *wolfSSL_EC_KEY_new(void)
goto error;
}
/* curve group */
external->group = wolfSSL_EC_GROUP_new_by_curve_name(ECC_CURVE_DEF);
/* Group unknown at creation */
external->group = wolfSSL_EC_GROUP_new_by_curve_name(NID_undef);
if (external->group == NULL) {
WOLFSSL_MSG("wolfSSL_EC_KEY_new malloc WOLFSSL_EC_GROUP failure");
goto error;
@@ -36426,18 +36426,28 @@ void wolfSSL_EC_KEY_free(WOLFSSL_EC_KEY *key)
}
}
#ifndef NO_WOLFSSL_STUB
/* set the group in WOLFSSL_EC_KEY and return WOLFSSL_SUCCESS on success */
int wolfSSL_EC_KEY_set_group(WOLFSSL_EC_KEY *key, WOLFSSL_EC_GROUP *group)
{
(void)key;
(void)group;
if (key == NULL || group == NULL)
return WOLFSSL_FAILURE;
WOLFSSL_ENTER("wolfSSL_EC_KEY_set_group");
WOLFSSL_STUB("EC_KEY_set_group");
return -1;
if (key->group != NULL) {
/* free the current group */
wolfSSL_EC_GROUP_free(key->group);
}
key->group = wolfSSL_EC_GROUP_dup(group);
if (key->group == NULL) {
return WOLFSSL_FAILURE;
}
return WOLFSSL_SUCCESS;
}
#endif
int wolfSSL_EC_KEY_generate_key(WOLFSSL_EC_KEY *key)
{