提交 87120097 编写于 作者: N Nils Larsch

simplify EC_KEY_dup

上级 b8994f44
......@@ -201,46 +201,16 @@ EC_KEY *EC_KEY_copy(EC_KEY *dest, const EC_KEY *src)
return dest;
}
EC_KEY *EC_KEY_dup(const EC_KEY *eckey)
EC_KEY *EC_KEY_dup(const EC_KEY *ec_key)
{
EC_KEY *ret = NULL;
int ok = 1;
ret = EC_KEY_new();
EC_KEY *ret = EC_KEY_new();
if (ret == NULL)
return NULL;
/* copy the parameters */
if (eckey->group)
{
ret->group = EC_GROUP_dup(eckey->group);
if (ret->group == NULL)
ok = 0;
}
/* copy the public key */
if (eckey->pub_key && eckey->group)
{
ret->pub_key = EC_POINT_dup(eckey->pub_key, eckey->group);
if (ret->pub_key == NULL)
ok = 0;
}
/* copy the private key */
if (eckey->priv_key)
{
ret->priv_key = BN_dup(eckey->priv_key);
if (ret->priv_key == NULL)
ok = 0;
}
/* copy the rest */
ret->enc_flag = eckey->enc_flag;
ret->conv_form = eckey->conv_form;
ret->version = eckey->version;
if (!ok)
if (EC_KEY_copy(ret, ec_key) == NULL)
{
EC_KEY_free(ret);
ret = NULL;
return NULL;
}
return ret;
}
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册