On Tue, May 3, 2022 at 3:18 PM Chris Bare <chris.bare@xxxxxxxxx> wrote: > > > On Tue, May 3, 2022 at 3:10 PM William Roberts <bill.c.roberts@xxxxxxxxx> wrote: >> >> On Tue, May 3, 2022 at 1:14 PM Chris Bare <chris.bare@xxxxxxxxx> wrote: >> > >> > I'm converting some openssl 1.0 code to 3.0 and I don't know how to get the coordinates >> > in a 3.0 way. >> > The old code is: >> > BN_CTX *ctx = BN_CTX_new (); >> > BIGNUM *X = NULL, *Y = NULL; >> > const EC_POINT *pubkey; >> > const EC_GROUP *group; >> > BN_CTX_start (ctx); >> > X = BN_CTX_get (ctx); >> > Y = BN_CTX_get (ctx); >> > pubkey = EC_KEY_get0_public_key ((EC_KEY *) EVP_PKEY_get0 (pkey)); >> > group = EC_KEY_get0_group ((EC_KEY *) EVP_PKEY_get0 (cvr->sm_pkey)); >> > EC_POINT_get_affine_coordinates_GFp (group, pubkey, X, Y, ctx) >> > >> > What would be the 3.0 way to get X and Y without using deprecated functions? >> >> For EC_POINT_get_affine_coordinates_GFp it goes to >> EC_POINT_get_affine_coordinates, see: >> - https://www.openssl.org/docs/man3.0/man3/EC_POINT_get_affine_coordinates.html >> >> Offhand I don't see any other deprecated functions, was that the only one? >> >> Thanks, >> Bill > > > all the EC_KEY_get0_ functions are deprecated. Is there a new way to access the internals of > the opaque structures, or am I stuck with the deprecated ones for this? I think you want the from and to data routines that provide the components from an EVP PKEY or produce an EVP_PKEY from the components: - https://www.openssl.org/docs/man3.0/man3/EVP_PKEY_todata.html - https://www.openssl.org/docs/man3.0/man3/EVP_PKEY_fromdata.html