EC_POINT_get_affine_coordinates replacement in 3.0

Kory Hamzeh kory at avatarci.com
Tue May 3 22:29:37 UTC 2022


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.bare at gmail.com> wrote:
> 
> Thanks, I'll check those out.
> 
> On Tue, May 3, 2022 at 4:53 PM William Roberts <bill.c.roberts at gmail.com <mailto:bill.c.roberts at gmail.com>> wrote:
> On Tue, May 3, 2022 at 3:18 PM Chris Bare <chris.bare at gmail.com <mailto:chris.bare at gmail.com>> wrote:
> >
> >
> > On Tue, May 3, 2022 at 3:10 PM William Roberts <bill.c.roberts at gmail.com <mailto:bill.c.roberts at gmail.com>> wrote:
> >>
> >> On Tue, May 3, 2022 at 1:14 PM Chris Bare <chris.bare at gmail.com <mailto:chris.bare at 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

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mta.openssl.org/pipermail/openssl-users/attachments/20220503/302ffdf4/attachment-0001.htm>


More information about the openssl-users mailing list