You would have to use EVP_PKEY key type. You can use EVP_PKEY_get* to get key params.
> On May 3, 2022, at 1:56 PM, Chris Bare <chris.b...@gmail.com> wrote: > > Thanks, I'll check those out. > > On Tue, May 3, 2022 at 4:53 PM William Roberts <bill.c.robe...@gmail.com > <mailto:bill.c.robe...@gmail.com>> wrote: > On Tue, May 3, 2022 at 3:18 PM Chris Bare <chris.b...@gmail.com > <mailto:chris.b...@gmail.com>> wrote: > > > > > > On Tue, May 3, 2022 at 3:10 PM William Roberts <bill.c.robe...@gmail.com > > <mailto:bill.c.robe...@gmail.com>> wrote: > >> > >> On Tue, May 3, 2022 at 1:14 PM Chris Bare <chris.b...@gmail.com > >> <mailto:chris.b...@gmail.com>> 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 > >> > >> <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_todata.html> > - https://www.openssl.org/docs/man3.0/man3/EVP_PKEY_fromdata.html > <https://www.openssl.org/docs/man3.0/man3/EVP_PKEY_fromdata.html> > > > -- > Chris Bare