From 50db81633ece00593b245afed0ed9480d7ffb334 Mon Sep 17 00:00:00 2001 From: Matt Caswell Date: Mon, 30 Jul 2018 16:56:41 +0100 Subject: [PATCH] Deprecate the EC curve type specific functions in 1.2.0 Reviewed-by: Rich Salz (Merged from https://github.com/openssl/openssl/pull/6815) --- crypto/ec/ec_lib.c | 12 +++++-- crypto/ec/ec_oct.c | 4 ++- doc/man3/EC_GROUP_new.pod | 6 ++-- doc/man3/EC_POINT_new.pod | 9 ++++-- include/openssl/ec.h | 68 ++++++++++++++++++++++++--------------- util/libcrypto.num | 20 ++++++------ 6 files changed, 74 insertions(+), 45 deletions(-) diff --git a/crypto/ec/ec_lib.c b/crypto/ec/ec_lib.c index cc270366a4..2204152c3c 100644 --- a/crypto/ec/ec_lib.c +++ b/crypto/ec/ec_lib.c @@ -435,6 +435,7 @@ int EC_GROUP_get_curve(const EC_GROUP *group, BIGNUM *p, BIGNUM *a, BIGNUM *b, return group->meth->group_get_curve(group, p, a, b, ctx); } +#if OPENSSL_API_COMPAT < 0x10200000L int EC_GROUP_set_curve_GFp(EC_GROUP *group, const BIGNUM *p, const BIGNUM *a, const BIGNUM *b, BN_CTX *ctx) { @@ -447,7 +448,7 @@ int EC_GROUP_get_curve_GFp(const EC_GROUP *group, BIGNUM *p, BIGNUM *a, return EC_GROUP_get_curve(group, p, a, b, ctx); } -#ifndef OPENSSL_NO_EC2M +# ifndef OPENSSL_NO_EC2M int EC_GROUP_set_curve_GF2m(EC_GROUP *group, const BIGNUM *p, const BIGNUM *a, const BIGNUM *b, BN_CTX *ctx) { @@ -459,6 +460,7 @@ int EC_GROUP_get_curve_GF2m(const EC_GROUP *group, BIGNUM *p, BIGNUM *a, { return EC_GROUP_get_curve(group, p, a, b, ctx); } +# endif #endif int EC_GROUP_get_degree(const EC_GROUP *group) @@ -724,6 +726,7 @@ int EC_POINT_set_affine_coordinates(const EC_GROUP *group, EC_POINT *point, return 1; } +#if OPENSSL_API_COMPAT < 0x10200000L int EC_POINT_set_affine_coordinates_GFp(const EC_GROUP *group, EC_POINT *point, const BIGNUM *x, const BIGNUM *y, BN_CTX *ctx) @@ -731,13 +734,14 @@ int EC_POINT_set_affine_coordinates_GFp(const EC_GROUP *group, return EC_POINT_set_affine_coordinates(group, point, x, y, ctx); } -#ifndef OPENSSL_NO_EC2M +# ifndef OPENSSL_NO_EC2M int EC_POINT_set_affine_coordinates_GF2m(const EC_GROUP *group, EC_POINT *point, const BIGNUM *x, const BIGNUM *y, BN_CTX *ctx) { return EC_POINT_set_affine_coordinates(group, point, x, y, ctx); } +# endif #endif int EC_POINT_get_affine_coordinates(const EC_GROUP *group, @@ -756,6 +760,7 @@ int EC_POINT_get_affine_coordinates(const EC_GROUP *group, return group->meth->point_get_affine_coordinates(group, point, x, y, ctx); } +#if OPENSSL_API_COMPAT < 0x10200000L int EC_POINT_get_affine_coordinates_GFp(const EC_GROUP *group, const EC_POINT *point, BIGNUM *x, BIGNUM *y, BN_CTX *ctx) @@ -763,13 +768,14 @@ int EC_POINT_get_affine_coordinates_GFp(const EC_GROUP *group, return EC_POINT_get_affine_coordinates(group, point, x, y, ctx); } -#ifndef OPENSSL_NO_EC2M +# ifndef OPENSSL_NO_EC2M int EC_POINT_get_affine_coordinates_GF2m(const EC_GROUP *group, const EC_POINT *point, BIGNUM *x, BIGNUM *y, BN_CTX *ctx) { return EC_POINT_get_affine_coordinates(group, point, x, y, ctx); } +# endif #endif int EC_POINT_add(const EC_GROUP *group, EC_POINT *r, const EC_POINT *a, diff --git a/crypto/ec/ec_oct.c b/crypto/ec/ec_oct.c index 224c38f86c..522f79e673 100644 --- a/crypto/ec/ec_oct.c +++ b/crypto/ec/ec_oct.c @@ -49,6 +49,7 @@ int EC_POINT_set_compressed_coordinates(const EC_GROUP *group, EC_POINT *point, y_bit, ctx); } +#if OPENSSL_API_COMPAT < 0x10200000L int EC_POINT_set_compressed_coordinates_GFp(const EC_GROUP *group, EC_POINT *point, const BIGNUM *x, int y_bit, BN_CTX *ctx) @@ -56,13 +57,14 @@ int EC_POINT_set_compressed_coordinates_GFp(const EC_GROUP *group, return EC_POINT_set_compressed_coordinates(group, point, x, y_bit, ctx); } -#ifndef OPENSSL_NO_EC2M +# ifndef OPENSSL_NO_EC2M int EC_POINT_set_compressed_coordinates_GF2m(const EC_GROUP *group, EC_POINT *point, const BIGNUM *x, int y_bit, BN_CTX *ctx) { return EC_POINT_set_compressed_coordinates(group, point, x, y_bit, ctx); } +# endif #endif size_t EC_POINT_point2oct(const EC_GROUP *group, const EC_POINT *point, diff --git a/doc/man3/EC_GROUP_new.pod b/doc/man3/EC_GROUP_new.pod index 02caba8823..2a722cea82 100644 --- a/doc/man3/EC_GROUP_new.pod +++ b/doc/man3/EC_GROUP_new.pod @@ -84,9 +84,11 @@ the polynomial is a trinomial or a pentanomial. EC_group_get_curve() obtains the previously set curve parameters. -EC_GROUP_set_curve_GFp() and EC_GROUP_set_curve_GF2m are synonyms for EC_GROUP_set_curve(). +EC_GROUP_set_curve_GFp() and EC_GROUP_set_curve_GF2m() are synonyms for EC_GROUP_set_curve(). They are defined for +backwards compatibility only and should not be used. -EC_GROUP_get_curve_GFp() and EC_GROUP_get_curve_GF2m are synonyms for EC_GROUP_get_curve(). +EC_GROUP_get_curve_GFp() and EC_GROUP_get_curve_GF2m() are synonyms for EC_GROUP_get_curve(). They are defined for +backwards compatibility only and should not be used. The functions EC_GROUP_new_curve_GFp and EC_GROUP_new_curve_GF2m are shortcuts for calling EC_GROUP_new and then the EC_GROUP_set_curve function. An appropriate default implementation method will be used. diff --git a/doc/man3/EC_POINT_new.pod b/doc/man3/EC_POINT_new.pod index b4faf4d021..796f6666dd 100644 --- a/doc/man3/EC_POINT_new.pod +++ b/doc/man3/EC_POINT_new.pod @@ -126,11 +126,13 @@ may be NULL, to the corresponding coordinates of B

. The functions EC_POINT_set_affine_coordinates_GFp() and EC_POINT_set_affine_coordinates_GF2m() are synonyms for -EC_POINT_set_affine_coordinates(). +EC_POINT_set_affine_coordinates(). They are defined for backwards compatibility +only and should not be used. The functions EC_POINT_get_affine_coordinates_GFp() and EC_POINT_get_affine_coordinates_GF2m() are synonyms for -EC_POINT_get_affine_coordinates(). +EC_POINT_get_affine_coordinates(). They are defined for backwards compatibility +only and should not be used. As well as the affine co-ordinates, a point can alternatively be described in terms of its Jacobian projective co-ordinates (for Fp curves only). Jacobian @@ -153,7 +155,8 @@ possible values for y should be used. The functions EC_POINT_set_compressed_coordinates_GFp() and EC_POINT_set_compressed_coordinates_GF2m() are synonyms for -EC_POINT_set_compressed_coordinates(). +EC_POINT_set_compressed_coordinates(). They are defined for backwards +compatibility only and should not be used. In addition B can be converted to and from various external representations. The octet form is the binary encoding of the B diff --git a/include/openssl/ec.h b/include/openssl/ec.h index f34eb1e3bc..9cbb8b8e9d 100644 --- a/include/openssl/ec.h +++ b/include/openssl/ec.h @@ -258,8 +258,9 @@ int EC_GROUP_get_curve(const EC_GROUP *group, BIGNUM *p, BIGNUM *a, BIGNUM *b, * \param ctx BN_CTX object (optional) * \return 1 on success and 0 if an error occurred */ -int EC_GROUP_set_curve_GFp(EC_GROUP *group, const BIGNUM *p, const BIGNUM *a, - const BIGNUM *b, BN_CTX *ctx); +DEPRECATEDIN_1_2_0(int EC_GROUP_set_curve_GFp(EC_GROUP *group, const BIGNUM *p, + const BIGNUM *a, const BIGNUM *b, + BN_CTX *ctx)) /** Gets the parameters of an ec curve. Synonym for EC_GROUP_get_curve * \param group EC_GROUP object @@ -270,8 +271,9 @@ int EC_GROUP_set_curve_GFp(EC_GROUP *group, const BIGNUM *p, const BIGNUM *a, * \param ctx BN_CTX object (optional) * \return 1 on success and 0 if an error occurred */ -int EC_GROUP_get_curve_GFp(const EC_GROUP *group, BIGNUM *p, BIGNUM *a, - BIGNUM *b, BN_CTX *ctx); +DEPRECATEDIN_1_2_0(int EC_GROUP_get_curve_GFp(const EC_GROUP *group, BIGNUM *p, + BIGNUM *a, BIGNUM *b, + BN_CTX *ctx)) # ifndef OPENSSL_NO_EC2M /** Sets the parameter of an ec curve. Synonym for EC_GROUP_set_curve @@ -283,8 +285,9 @@ int EC_GROUP_get_curve_GFp(const EC_GROUP *group, BIGNUM *p, BIGNUM *a, * \param ctx BN_CTX object (optional) * \return 1 on success and 0 if an error occurred */ -int EC_GROUP_set_curve_GF2m(EC_GROUP *group, const BIGNUM *p, const BIGNUM *a, - const BIGNUM *b, BN_CTX *ctx); +DEPRECATEDIN_1_2_0(int EC_GROUP_set_curve_GF2m(EC_GROUP *group, const BIGNUM *p, + const BIGNUM *a, const BIGNUM *b, + BN_CTX *ctx)) /** Gets the parameters of an ec curve. Synonym for EC_GROUP_get_curve * \param group EC_GROUP object @@ -295,8 +298,9 @@ int EC_GROUP_set_curve_GF2m(EC_GROUP *group, const BIGNUM *p, const BIGNUM *a, * \param ctx BN_CTX object (optional) * \return 1 on success and 0 if an error occurred */ -int EC_GROUP_get_curve_GF2m(const EC_GROUP *group, BIGNUM *p, BIGNUM *a, - BIGNUM *b, BN_CTX *ctx); +DEPRECATEDIN_1_2_0(int EC_GROUP_get_curve_GF2m(const EC_GROUP *group, BIGNUM *p, + BIGNUM *a, BIGNUM *b, + BN_CTX *ctx)) # endif /** Returns the number of bits needed to represent a field element * \param group EC_GROUP object @@ -521,9 +525,11 @@ int EC_POINT_get_affine_coordinates(const EC_GROUP *group, const EC_POINT *p, * \param ctx BN_CTX object (optional) * \return 1 on success and 0 if an error occurred */ -int EC_POINT_set_affine_coordinates_GFp(const EC_GROUP *group, EC_POINT *p, - const BIGNUM *x, const BIGNUM *y, - BN_CTX *ctx); +DEPRECATEDIN_1_2_0(int EC_POINT_set_affine_coordinates_GFp(const EC_GROUP *group, + EC_POINT *p, + const BIGNUM *x, + const BIGNUM *y, + BN_CTX *ctx)) /** Gets the affine coordinates of an EC_POINT. A synonym of * EC_POINT_get_affine_coordinates @@ -534,9 +540,11 @@ int EC_POINT_set_affine_coordinates_GFp(const EC_GROUP *group, EC_POINT *p, * \param ctx BN_CTX object (optional) * \return 1 on success and 0 if an error occurred */ -int EC_POINT_get_affine_coordinates_GFp(const EC_GROUP *group, - const EC_POINT *p, BIGNUM *x, - BIGNUM *y, BN_CTX *ctx); +DEPRECATEDIN_1_2_0(int EC_POINT_get_affine_coordinates_GFp(const EC_GROUP *group, + const EC_POINT *p, + BIGNUM *x, + BIGNUM *y, + BN_CTX *ctx)) /** Sets the x9.62 compressed coordinates of a EC_POINT * \param group underlying EC_GROUP object @@ -559,9 +567,11 @@ int EC_POINT_set_compressed_coordinates(const EC_GROUP *group, EC_POINT *p, * \param ctx BN_CTX object (optional) * \return 1 on success and 0 if an error occurred */ -int EC_POINT_set_compressed_coordinates_GFp(const EC_GROUP *group, - EC_POINT *p, const BIGNUM *x, - int y_bit, BN_CTX *ctx); +DEPRECATEDIN_1_2_0(int EC_POINT_set_compressed_coordinates_GFp(const EC_GROUP *group, + EC_POINT *p, + const BIGNUM *x, + int y_bit, + BN_CTX *ctx)) # ifndef OPENSSL_NO_EC2M /** Sets the affine coordinates of an EC_POINT. A synonym of * EC_POINT_set_affine_coordinates @@ -572,9 +582,11 @@ int EC_POINT_set_compressed_coordinates_GFp(const EC_GROUP *group, * \param ctx BN_CTX object (optional) * \return 1 on success and 0 if an error occurred */ -int EC_POINT_set_affine_coordinates_GF2m(const EC_GROUP *group, EC_POINT *p, - const BIGNUM *x, const BIGNUM *y, - BN_CTX *ctx); +DEPRECATEDIN_1_2_0(int EC_POINT_set_affine_coordinates_GF2m(const EC_GROUP *group, + EC_POINT *p, + const BIGNUM *x, + const BIGNUM *y, + BN_CTX *ctx)) /** Gets the affine coordinates of an EC_POINT. A synonym of * EC_POINT_get_affine_coordinates @@ -585,9 +597,11 @@ int EC_POINT_set_affine_coordinates_GF2m(const EC_GROUP *group, EC_POINT *p, * \param ctx BN_CTX object (optional) * \return 1 on success and 0 if an error occurred */ -int EC_POINT_get_affine_coordinates_GF2m(const EC_GROUP *group, - const EC_POINT *p, BIGNUM *x, - BIGNUM *y, BN_CTX *ctx); +DEPRECATEDIN_1_2_0(int EC_POINT_get_affine_coordinates_GF2m(const EC_GROUP *group, + const EC_POINT *p, + BIGNUM *x, + BIGNUM *y, + BN_CTX *ctx)) /** Sets the x9.62 compressed coordinates of a EC_POINT. A synonym of * EC_POINT_set_compressed_coordinates @@ -598,9 +612,11 @@ int EC_POINT_get_affine_coordinates_GF2m(const EC_GROUP *group, * \param ctx BN_CTX object (optional) * \return 1 on success and 0 if an error occurred */ -int EC_POINT_set_compressed_coordinates_GF2m(const EC_GROUP *group, - EC_POINT *p, const BIGNUM *x, - int y_bit, BN_CTX *ctx); +DEPRECATEDIN_1_2_0(int EC_POINT_set_compressed_coordinates_GF2m(const EC_GROUP *group, + EC_POINT *p, + const BIGNUM *x, + int y_bit, + BN_CTX *ctx)) # endif /** Encodes a EC_POINT object to a octet string * \param group underlying EC_GROUP object diff --git a/util/libcrypto.num b/util/libcrypto.num index 18f0f45d06..ed8a8f0127 100644 --- a/util/libcrypto.num +++ b/util/libcrypto.num @@ -261,7 +261,7 @@ ASN1_NULL_free 262 1_1_0 EXIST::FUNCTION: EC_KEY_copy 263 1_1_0 EXIST::FUNCTION:EC EVP_des_ede3 264 1_1_0 EXIST::FUNCTION:DES PKCS7_add1_attrib_digest 265 1_1_0 EXIST::FUNCTION: -EC_POINT_get_affine_coordinates_GFp 266 1_1_0 EXIST::FUNCTION:EC +EC_POINT_get_affine_coordinates_GFp 266 1_1_0 EXIST::FUNCTION:DEPRECATEDIN_1_2_0,EC EVP_seed_ecb 267 1_1_0 EXIST::FUNCTION:SEED BIO_dgram_sctp_wait_for_dry 268 1_1_0 EXIST::FUNCTION:DGRAM,SCTP ASN1_OCTET_STRING_NDEF_it 269 1_1_0 EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: @@ -544,7 +544,7 @@ CONF_get_number 544 1_1_0 EXIST::FUNCTION: X509_EXTENSION_get_object 545 1_1_0 EXIST::FUNCTION: X509_EXTENSIONS_it 546 1_1_0 EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: X509_EXTENSIONS_it 546 1_1_0 EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: -EC_POINT_set_compressed_coordinates_GF2m 547 1_1_0 EXIST::FUNCTION:EC,EC2M +EC_POINT_set_compressed_coordinates_GF2m 547 1_1_0 EXIST::FUNCTION:DEPRECATEDIN_1_2_0,EC,EC2M RSA_sign_ASN1_OCTET_STRING 548 1_1_0 EXIST::FUNCTION:RSA d2i_X509_CRL_fp 549 1_1_0 EXIST::FUNCTION:STDIO i2d_RSA_PUBKEY 550 1_1_0 EXIST::FUNCTION:RSA @@ -638,7 +638,7 @@ X509_REVOKED_it 638 1_1_0 EXIST:!EXPORT_VAR_AS_FUNCTION: X509_REVOKED_it 638 1_1_0 EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: CRYPTO_THREAD_write_lock 639 1_1_0 EXIST::FUNCTION: X509V3_NAME_from_section 640 1_1_0 EXIST::FUNCTION: -EC_POINT_set_compressed_coordinates_GFp 641 1_1_0 EXIST::FUNCTION:EC +EC_POINT_set_compressed_coordinates_GFp 641 1_1_0 EXIST::FUNCTION:DEPRECATEDIN_1_2_0,EC OCSP_SINGLERESP_get0_id 642 1_1_0 EXIST::FUNCTION:OCSP UI_add_info_string 643 1_1_0 EXIST::FUNCTION: OBJ_NAME_remove 644 1_1_0 EXIST::FUNCTION: @@ -1874,7 +1874,7 @@ i2b_PrivateKey_bio 1858 1_1_0 EXIST::FUNCTION:DSA ASN1_STRING_length_set 1859 1_1_0 EXIST::FUNCTION: PEM_write_PKCS8 1860 1_1_0 EXIST::FUNCTION:STDIO PKCS7_digest_from_attributes 1861 1_1_0 EXIST::FUNCTION: -EC_GROUP_set_curve_GFp 1862 1_1_0 EXIST::FUNCTION:EC +EC_GROUP_set_curve_GFp 1862 1_1_0 EXIST::FUNCTION:DEPRECATEDIN_1_2_0,EC X509_PURPOSE_get0 1863 1_1_0 EXIST::FUNCTION: EVP_PKEY_set1_DSA 1864 1_1_0 EXIST::FUNCTION:DSA X509_NAME_it 1865 1_1_0 EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: @@ -1982,7 +1982,7 @@ X509_CRL_it 1966 1_1_0 EXIST:EXPORT_VAR_AS_FUNCTION: d2i_X509_ALGOR 1967 1_1_0 EXIST::FUNCTION: PKCS12_PBE_keyivgen 1968 1_1_0 EXIST::FUNCTION: BIO_test_flags 1969 1_1_0 EXIST::FUNCTION: -EC_POINT_get_affine_coordinates_GF2m 1970 1_1_0 EXIST::FUNCTION:EC,EC2M +EC_POINT_get_affine_coordinates_GF2m 1970 1_1_0 EXIST::FUNCTION:DEPRECATEDIN_1_2_0,EC,EC2M EVP_ENCODE_CTX_num 1971 1_1_0 EXIST::FUNCTION: Camellia_cfb1_encrypt 1972 1_1_0 EXIST::FUNCTION:CAMELLIA NCONF_load_fp 1973 1_1_0 EXIST::FUNCTION:STDIO @@ -2183,7 +2183,7 @@ i2d_ASN1_T61STRING 2156 1_1_0 EXIST::FUNCTION: X509_add1_trust_object 2157 1_1_0 EXIST::FUNCTION: PEM_write_X509 2158 1_1_0 EXIST::FUNCTION:STDIO BN_CTX_free 2159 1_1_0 EXIST::FUNCTION: -EC_GROUP_get_curve_GF2m 2160 1_1_0 EXIST::FUNCTION:EC,EC2M +EC_GROUP_get_curve_GF2m 2160 1_1_0 EXIST::FUNCTION:DEPRECATEDIN_1_2_0,EC,EC2M EVP_MD_flags 2161 1_1_0 EXIST::FUNCTION: OPENSSL_sk_set 2162 1_1_0 EXIST::FUNCTION: OCSP_request_sign 2163 1_1_0 EXIST::FUNCTION:OCSP @@ -2263,7 +2263,7 @@ ENGINE_set_name 2235 1_1_0 EXIST::FUNCTION:ENGINE TS_TST_INFO_get_policy_id 2236 1_1_0 EXIST::FUNCTION:TS PKCS7_SIGNER_INFO_set 2237 1_1_0 EXIST::FUNCTION: PEM_write_bio_PKCS8_PRIV_KEY_INFO 2238 1_1_0 EXIST::FUNCTION: -EC_GROUP_set_curve_GF2m 2239 1_1_0 EXIST::FUNCTION:EC,EC2M +EC_GROUP_set_curve_GF2m 2239 1_1_0 EXIST::FUNCTION:DEPRECATEDIN_1_2_0,EC,EC2M ENGINE_load_builtin_engines 2240 1_1_0 EXIST::FUNCTION:ENGINE SRP_VBASE_init 2241 1_1_0 EXIST::FUNCTION:SRP SHA224_Final 2242 1_1_0 EXIST::FUNCTION: @@ -2983,7 +2983,7 @@ EVP_aes_192_cbc 2936 1_1_0 EXIST::FUNCTION: PKCS8_pkey_set0 2937 1_1_0 EXIST::FUNCTION: X509_get1_email 2938 1_1_0 EXIST::FUNCTION: EC_POINT_point2oct 2939 1_1_0 EXIST::FUNCTION:EC -EC_GROUP_get_curve_GFp 2940 1_1_0 EXIST::FUNCTION:EC +EC_GROUP_get_curve_GFp 2940 1_1_0 EXIST::FUNCTION:DEPRECATEDIN_1_2_0,EC ASYNC_block_pause 2941 1_1_0 EXIST::FUNCTION: OCSP_SINGLERESP_get_ext 2942 1_1_0 EXIST::FUNCTION:OCSP CRYPTO_strdup 2943 1_1_0 EXIST::FUNCTION: @@ -3234,7 +3234,7 @@ X509_NAME_oneline 3186 1_1_0 EXIST::FUNCTION: X509V3_set_nconf 3187 1_1_0 EXIST::FUNCTION: RSAPrivateKey_dup 3188 1_1_0 EXIST::FUNCTION:RSA BN_mod_add 3189 1_1_0 EXIST::FUNCTION: -EC_POINT_set_affine_coordinates_GFp 3190 1_1_0 EXIST::FUNCTION:EC +EC_POINT_set_affine_coordinates_GFp 3190 1_1_0 EXIST::FUNCTION:DEPRECATEDIN_1_2_0,EC X509_get_default_cert_file 3191 1_1_0 EXIST::FUNCTION: UI_method_set_flusher 3192 1_1_0 EXIST::FUNCTION: RSA_new_method 3193 1_1_0 EXIST::FUNCTION:RSA @@ -3572,7 +3572,7 @@ PROXY_CERT_INFO_EXTENSION_new 3523 1_1_0 EXIST::FUNCTION: EVP_bf_cbc 3524 1_1_0 EXIST::FUNCTION:BF DSA_do_verify 3525 1_1_0 EXIST::FUNCTION:DSA EC_GROUP_get_seed_len 3526 1_1_0 EXIST::FUNCTION:EC -EC_POINT_set_affine_coordinates_GF2m 3527 1_1_0 EXIST::FUNCTION:EC,EC2M +EC_POINT_set_affine_coordinates_GF2m 3527 1_1_0 EXIST::FUNCTION:DEPRECATEDIN_1_2_0,EC,EC2M TS_REQ_set_policy_id 3528 1_1_0 EXIST::FUNCTION:TS BIO_callback_ctrl 3529 1_1_0 EXIST::FUNCTION: v2i_GENERAL_NAME 3530 1_1_0 EXIST::FUNCTION: -- GitLab