openssl/providers
Richard Levitte adc9f73126 EVP: Clarify the states of an EVP_PKEY
EVP_PKEY is rather complex, even before provider side keys entered the
stage.
You could have untyped / unassigned keys (pk->type == EVP_PKEY_NONE),
keys that had been assigned a type but no data (pk->pkey.ptr == NULL),
and fully assigned keys (pk->type != EVP_PKEY_NONE && pk->pkey.ptr != NULL).

For provider side keys, the corresponding states weren't well defined,
and the code didn't quite account for all the possibilities.

We also guard most of the legacy fields in EVP_PKEY with FIPS_MODE, so
they don't exist at all in the FIPS module.

Most of all, code needs to adapt to the case where an EVP_PKEY's
|keymgmt| is non-NULL, but its |keydata| is NULL.

Reviewed-by: Matt Caswell <matt@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/11375)
2020-03-25 17:00:39 +01:00
..
common Implement provider support for Ed25519 annd Ed448 2020-03-09 07:59:15 +00:00
fips Add ECDSA to providers 2020-03-15 21:34:29 +10:00
implementations EVP: Clarify the states of an EVP_PKEY 2020-03-25 17:00:39 +01:00
build.info PROV: Build the main FIPS module code with FIPS_MODE defined 2020-02-14 21:36:02 +01:00
defltprov.c Implement serializers for ED25519 and ED448 2020-03-18 08:40:33 +10:00
legacyprov.c Introduce the provider property 2020-02-21 20:17:02 +00:00