EC_KEY_NEW(3ssl) OpenSSL EC_KEY_NEW(3ssl) EVP_EC_gen, EC_KEY_get_method, EC_KEY_set_method, EC_KEY_new_ex, EC_KEY_new, EC_KEY_get_flags, EC_KEY_set_flags, EC_KEY_clear_flags, EC_KEY_new_by_curve_name_ex, EC_KEY_new_by_curve_name, EC_KEY_free, EC_KEY_copy, EC_KEY_dup, EC_KEY_up_ref, EC_KEY_get0_engine, EC_KEY_get0_group, EC_KEY_set_group, EC_KEY_get0_private_key, EC_KEY_set_private_key, EC_KEY_get0_public_key, EC_KEY_set_public_key, EC_KEY_get_conv_form, EC_KEY_set_conv_form, EC_KEY_set_asn1_flag, EC_KEY_decoded_from_explicit_params, EC_KEY_precompute_mult, EC_KEY_generate_key, EC_KEY_check_key, EC_KEY_set_public_key_affine_coordinates, EC_KEY_oct2key, EC_KEY_key2buf, EC_KEY_oct2priv, EC_KEY_priv2oct, EC_KEY_priv2buf - EC_KEY #include EVP_PKEY *EVP_EC_gen(const char *curve); OpenSSL 3.0 OPENSSL_API_COMPAT openssl_user_macros(7): EC_KEY *EC_KEY_new_ex(OSSL_LIB_CTX *ctx, const char *propq); EC_KEY *EC_KEY_new(void); int EC_KEY_get_flags(const EC_KEY *key); void EC_KEY_set_flags(EC_KEY *key, int flags); void EC_KEY_clear_flags(EC_KEY *key, int flags); EC_KEY *EC_KEY_new_by_curve_name_ex(OSSL_LIB_CTX *ctx, const char *propq, int nid); EC_KEY *EC_KEY_new_by_curve_name(int nid); void EC_KEY_free(EC_KEY *key); EC_KEY *EC_KEY_copy(EC_KEY *dst, const EC_KEY *src); EC_KEY *EC_KEY_dup(const EC_KEY *src); int EC_KEY_up_ref(EC_KEY *key); ENGINE *EC_KEY_get0_engine(const EC_KEY *eckey); const EC_GROUP *EC_KEY_get0_group(const EC_KEY *key); int EC_KEY_set_group(EC_KEY *key, const EC_GROUP *group); const BIGNUM *EC_KEY_get0_private_key(const EC_KEY *key); int EC_KEY_set_private_key(EC_KEY *key, const BIGNUM *priv_key); const EC_POINT *EC_KEY_get0_public_key(const EC_KEY *key); int EC_KEY_set_public_key(EC_KEY *key, const EC_POINT *pub); point_conversion_form_t EC_KEY_get_conv_form(const EC_KEY *key); void EC_KEY_set_conv_form(EC_KEY *eckey, point_conversion_form_t cform); void EC_KEY_set_asn1_flag(EC_KEY *eckey, int asn1_flag); int EC_KEY_decoded_from_explicit_params(const EC_KEY *key); int EC_KEY_generate_key(EC_KEY *key); int EC_KEY_check_key(const EC_KEY *key); int EC_KEY_set_public_key_affine_coordinates(EC_KEY *key, BIGNUM *x, BIGNUM *y); const EC_KEY_METHOD *EC_KEY_get_method(const EC_KEY *key); int EC_KEY_set_method(EC_KEY *key, const EC_KEY_METHOD *meth); int EC_KEY_oct2key(EC_KEY *eckey, const unsigned char *buf, size_t len, BN_CTX *ctx); size_t EC_KEY_key2buf(const EC_KEY *eckey, point_conversion_form_t form, unsigned char **pbuf, BN_CTX *ctx); int EC_KEY_oct2priv(EC_KEY *eckey, const unsigned char *buf, size_t len); size_t EC_KEY_priv2oct(const EC_KEY *eckey, unsigned char *buf, size_t len); size_t EC_KEY_priv2buf(const EC_KEY *eckey, unsigned char **pbuf); int EC_KEY_precompute_mult(EC_KEY *key, BN_CTX *ctx); EVP_EC_gen() EC curve . . EVP_EC_gen() EVP_PKEY_Q_keygen|(3) EVP_PKEY_keygen_init|(3) EVP_PKEY_keygen|(3) . EC_KEY . EC_KEY EC_KEY_new_ex() ctx ( OSSL_LIB_CTX propq. ctx NULL . EC_KEY 1. EC_KEY EC_KEY_set_group(). EC_KEY_new() EC_KEY_new_ex() . EC_KEY EC_KEY_new_by_curve_name_ex() nid ctx ( OSSL_LIB_CTX(3)) propq. ctx NULL . propq NULL . EC_GROUP_new(3) . EC_KEY_new_ex() EC_GROUP_new_by_curve_name_ex(). EC_KEY_new_by_curve_name() EC_KEY_new_by_curve_name_ex() NULL. EC_KEY_free() EC_KEY . key NULL . EC_KEY_copy() EC_KEY src dest. EC_KEY_dup() EC_KEY ec_key . EC_KEY_up_ref() EC_KEY. EC_KEY_get0_engine() ENGINE EC_KEY. EC_KEY_generate_key() eckey . eckey EC_GROUP . ( < priv_key < 0 order EC_GROUP). EC_POINT . EC_KEY_check_key() EC_KEY . EC_KEY_set_public_key_affine_coordinates() key EC_POINT x y EC_POINT. . EC_KEY_get0_group() EC_KEY_set_group() EC_KEY_get0_private_key() EC_KEY_set_private_key() EC_KEY_get0_public_key() EC_KEY_set_public_key() EC_GROUP EC_POINT key . EC_KEY_set_private_key() NULL priv_key EC_KEY . EC_KEY_get_conv_form() EC_KEY_set_conv_form() point_conversion_form key. point_conversion_forms EC_POINT_new(3). EC_KEY_set_flags() flags EC_KEY. . EC_FLAG_NON_FIPS_ALLOW EC_FLAG_FIPS_CHECKED. EC_FLAG_COFACTOR_ECDH ECDH. EC_KEY_get_flags() EC_KEY. EC_KEY_clear_flags() flags . EC_KEY_set_asn1_flag() asn1_flag EC_GROUP ( ). EC_GROUP_copy(3) asn1_flag. EC_KEY_decoded_from_explicit_params() 1 key -1 key NULL 0 . EC_KEY_precompute_mult() EC_GROUP . EC_POINT_add(3). OpenSSL . EC_KEY_oct2key() EC_KEY_key2buf() EC_POINT_oct2point() EC_POINT_point2buf() EC_POINT eckey. EC_KEY_oct2priv() EC_KEY_priv2oct() eckey . OCTET STRING privateKey ECPrivateKey ASN.1. EC_KEY_priv2oct() . . NULL . EC_KEY_priv2buf() EC_KEY . *pbuf . OPENSSL_free(). *pbuf pbuf NULL. EC_KEY_priv2buf() EC_KEY . EC_KEY_new_ex() EC_KEY_new() EC_KEY_new_by_curve_name_ex() EC_KEY_new_by_curve_name() EC_KEY_dup() EC_KEY NULL . EC_KEY_get_flags() EC_KEY . EC_KEY_copy() NULL . EC_KEY_get0_engine() ENGINE NULL . EC_KEY_up_ref() EC_KEY_set_group() EC_KEY_set_public_key() EC_KEY_precompute_mult() EC_KEY_generate_key() EC_KEY_check_key() EC_KEY_set_public_key_affine_coordinates() EC_KEY_oct2key() EC_KEY_oct2priv() 1 0 . EC_KEY_set_private_key() 1 0 priv_key NULL 0 . EC_KEY_get0_group() EC_GROUP EC_KEY. EC_KEY_get0_private_key() EC_KEY. EC_KEY_get_conv_form() point_conversion_form EC_KEY. EC_KEY_key2buf() EC_KEY_priv2oct() EC_KEY_priv2buf() 0 . EVP_PKEY_Q_keygen(3) crypto(7), EC_GROUP_new(3), EC_GROUP_copy(3), EC_POINT_new(3), EC_POINT_add(3), EC_GFp_simple_method(3), d2i_ECPKParameters(3), OSSL_LIB_CTX(3) EVP_EC_gen() OpenSSL 3.0. OpenSSL 3.0. EVP_PKEY-EC(7). 2013-2023 OpenSSL. . Apache 2.0 ( ""). . LICENSE . 3 . . : . 3.6.2 7 2026 EC_KEY_NEW(3ssl)