• R
    Rethink the EVP_PKEY cache of provider side keys · 3c6ed955
    Richard Levitte 提交于
    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: NShane Lontis <shane.lontis@oracle.com>
    (Merged from https://github.com/openssl/openssl/pull/11148)
    3c6ed955
pmeth_lib.c 47.7 KB