Lines Matching refs:eckey
233 int EC_KEY_generate_key(EC_KEY *eckey)
240 if (!eckey || !eckey->group)
249 if (eckey->priv_key == NULL)
256 priv_key = eckey->priv_key;
258 if (!EC_GROUP_get_order(eckey->group, order, ctx))
266 if (eckey->pub_key == NULL)
268 pub_key = EC_POINT_new(eckey->group);
273 pub_key = eckey->pub_key;
275 if (!EC_POINT_mul(eckey->group, pub_key, priv_key, NULL, NULL, ctx))
278 eckey->priv_key = priv_key;
279 eckey->pub_key = pub_key;
286 if (pub_key != NULL && eckey->pub_key == NULL)
288 if (priv_key != NULL && eckey->priv_key == NULL)
295 int EC_KEY_check_key(const EC_KEY *eckey)
302 if (!eckey || !eckey->group || !eckey->pub_key)
312 if ((point = EC_POINT_new(eckey->group)) == NULL)
316 if (!EC_POINT_is_on_curve(eckey->group, eckey->pub_key, ctx))
322 if (!EC_GROUP_get_order(eckey->group, order, ctx))
327 if (!EC_POINT_copy(point, eckey->pub_key))
332 if (!EC_POINT_mul(eckey->group, point, order, NULL, NULL, ctx))
337 if (!EC_POINT_is_at_infinity(eckey->group, point))
345 if (eckey->priv_key)
347 if (BN_cmp(eckey->priv_key, order) >= 0)
352 if (!EC_POINT_mul(eckey->group, point, eckey->priv_key,
358 if (EC_POINT_cmp(eckey->group, point, eckey->pub_key,