Hi Matt, I am making the changes that you suggested, I think I can get the X and Y by using EVP_PKEY_get_bn_param() with OSSL_PKEY_PARAM_EC_PUB_X and _PUB_Y. What I cannot figure out is how to get R and S. If I had an ECDSA_SIG, I would call ECDSA_SIG_get0_r() and _s(). Are there EVP_PKEY params for R and S? Thanks, Kory > On Oct 27, 2021, at 11:04 AM, Kory Hamzeh <kory@xxxxxxxxxxxx> wrote: > > > Hi, > > I am upgrading some 3RD party code which performs FIPS ECDSA AVS testing for FIPS 140-2 certification. The code uses FIPS_escda_sign(), which in Openssl-fips-2.0.5 is define as: > > ECDSA_SIG * FIPS_ecdsa_sign(EC_KEY *key, > const unsigned char *msg, size_t msglen > , const EVP_MD *mhash) > > > The full code is here: > > https://github.com/majek/openssl/blob/master/fips/ecdsa/fips_ecdsavs.c > > I have read through all of the ECDSA sign man pages, and I cannot find a functions that is close to accepting some of the same parameter. I could use some help please. I have very little experience with ECDSA. > > Thanks, > Kory > > >