openssl 3.0.0 get ECC public key modulus from EVP_PKEY
Tomas Mraz
tomas at openssl.org
Fri Oct 15 06:34:12 UTC 2021
On Thu, 2021-10-14 at 17:36 -0400, Ken Goldman wrote:
> On 10/14/2021 6:39 AM, Matt Caswell wrote:
> >
> > "priv" (OSSL_PKEY_PARAM_PRIV_KEY) <unsigned integer>
> >
> > The private key value.
> >
> > Since its an integer using EVP_PKEY_get_bn_param() would be
> > appropriate here, but not EVP_PKEY_get_octet_string_param().
> >
> > Basically you need to know the type of the parameter you are
> > attempting to access and use the right kind of "getter" to match
> > the type - otherwise it will fail.
>
> That helped!
>
> https://www.openssl.org/docs/manmaster/man7/EVP_PKEY-EC.html
>
> I found that page a bit confusing. Is it right that
>
> <unsigned integer>
> <integer>
>
> are all actually BIGNUM? I.e., not C int or unsigned int?
They are unbounded integer values. See OSSL_PARAM(3)
>
> ~~~~~~~~~~~~~~~~
>
> While I'm on that page:
>
> <UTF8 string> should call EVP_PKEY_get_utf8_string_param(). This
> seems to require an allocated array.
> How does one find the size to allocate? Does it follow the typical
> "if buf is NULL, return just the size"
> so it can be malloced.
>
> <octet string> same question.
Yes, this should work, except for one caveat - you need to allocate + 1
byte for \0 terminator in case of the UTF8 string. We should document
this.
--
Tomáš Mráz
No matter how far down the wrong road you've gone, turn back.
Turkish proverb
[You'll know whether the road is wrong if you carefully listen to your
conscience.]
More information about the openssl-users
mailing list