openssl/crypto/serializer
Richard Levitte 3c6ed9555c Rethink the EVP_PKEY cache of provider side keys
The role of this cache was two-fold:

1.  It was a cache of key copies exported to providers with which an
    operation was initiated.
2.  If the EVP_PKEY didn't have a legacy key, item 0 of the cache was
    the corresponding provider side origin, while the rest was the
    actual cache.

This dual role for item 0 made the code a bit confusing, so we now
make a separate keymgmt / keydata pair outside of that cache, which is
the provider side "origin" key.

A hard rule is that an EVP_PKEY cannot hold a legacy "origin" and a
provider side "origin" at the same time.

Reviewed-by: Shane Lontis <shane.lontis@oracle.com>
(Merged from https://github.com/openssl/openssl/pull/11148)
2020-02-29 05:39:43 +01:00
..
build.info SERIALIZER: add support for serializing EVP_PKEYs 2019-11-29 20:55:16 +01:00
serializer_err.c SERIALIZER: add support for serializing EVP_PKEYs 2019-11-29 20:55:16 +01:00
serializer_lib.c SERIALIZER: add functions for serialization to file 2019-11-29 20:55:16 +01:00
serializer_local.h Redesign the KEYMGMT libcrypto <-> provider interface - the basics 2020-02-07 09:37:56 +01:00
serializer_meth.c Fix some typos 2019-12-11 19:04:01 +01:00
serializer_pkey.c Rethink the EVP_PKEY cache of provider side keys 2020-02-29 05:39:43 +01:00