EVP_PKEY_get_raw_public_key fails with OpenSSL 3.0

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



I have been using EVP_PKEY_get_raw_public_key with OpenSSL 1.1.1 without any problems to extract a raw public key (secp521r1, NIST curve P-521). With OpenSSL 3.0 this fails. I'm using this call to get the raw public key and to compare it with a reference value I have and I also check that the group name is "secp521r1".

This is what happens:
1) as pkey->keymgmt != NULL EVP_PKEY_get_raw_public_key calls evp_keymgmt_util_export with selection=OSSL_KEYMGMT_SELECT_PUBLIC_KEY
2) evp_keymgmt_util_export calls evp_keymgmt_export
3) evp_keymgmt_export calls ec_export
4) ec_export fails as it does not support returning a public key without domain parameters (selection only contains OSSL_KEYMGMT_SELECT_PUBLIC_KEY)

In OpenSSL 1.1.1 the pkey->keymgmt check in the first step is not present and a totally different path is taken which returns the correct public key.

At first this seems incompatible to me. But I think it would also be possible that by accident I misued the function with OpenSSL 1.1.1 as the algorithm is also not in the list of supported algorithms for OpenSSL 1.1.1.

Is this the correct function call and what did I do wrong? Or: what would be the correct approach to get the raw key?

Regards
Frank



[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux]     [Linux OMAP]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux