openssl/crypto/asn1
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
..
a_bitstr.c Reorganize local header files 2019-09-28 20:26:35 +02:00
a_d2i_fp.c Reorganize private crypto header files 2019-09-28 20:26:34 +02:00
a_digest.c Deprecate ASN1_sign(), ASN1_verify() and ASN1_digest() 2020-02-27 23:21:14 +01:00
a_dup.c constify *_dup() and *i2d_*() and related functions as far as possible, introducing DECLARE_ASN1_DUP_FUNCTION 2019-03-06 16:10:09 +00:00
a_gentm.c Add duplication APIs to ASN1_TIME and related types 2020-01-17 11:30:33 +08:00
a_i2d_fp.c constify *_dup() and *i2d_*() and related functions as far as possible, introducing DECLARE_ASN1_DUP_FUNCTION 2019-03-06 16:10:09 +00:00
a_int.c Reorganize local header files 2019-09-28 20:26:35 +02:00
a_mbstr.c Reorganize private crypto header files 2019-09-28 20:26:34 +02:00
a_object.c Reorganize local header files 2019-09-28 20:26:35 +02:00
a_octet.c Following the license change, modify the boilerplates in crypto/asn1/ 2018-12-06 14:24:40 +01:00
a_print.c Reorganize private crypto header files 2019-09-28 20:26:34 +02:00
a_sign.c Deprecate ASN1_sign(), ASN1_verify() and ASN1_digest() 2020-02-27 23:21:14 +01:00
a_strex.c Reorganize private crypto header files 2019-09-28 20:26:34 +02:00
a_strnid.c Explicitly test against NULL; do not use !p or similar 2019-10-09 21:32:15 +02:00
a_time.c Add duplication APIs to ASN1_TIME and related types 2020-01-17 11:30:33 +08:00
a_type.c Reorganize local header files 2019-09-28 20:26:35 +02:00
a_utctm.c Add duplication APIs to ASN1_TIME and related types 2020-01-17 11:30:33 +08:00
a_utf8.c Following the license change, modify the boilerplates in crypto/asn1/ 2018-12-06 14:24:40 +01:00
a_verify.c Deprecate ASN1_sign(), ASN1_verify() and ASN1_digest() 2020-02-27 23:21:14 +01:00
ameth_lib.c Explicitly test against NULL; do not use !p or similar 2019-10-09 21:32:15 +02:00
asn1_err.c util/mkerr.pl: make it not depend on the function code 2019-09-12 17:59:52 +02:00
asn1_gen.c Following the license change, modify the boilerplates in crypto/asn1/ 2018-12-06 14:24:40 +01:00
asn1_item_list.c Following the license change, modify the boilerplates in crypto/asn1/ 2018-12-06 14:24:40 +01:00
asn1_item_list.h Update source files for deprecation at 3.0 2019-11-07 11:37:25 +01:00
asn1_lib.c Update source files for pre-3.0 deprecation 2019-11-07 11:37:25 +01:00
asn1_local.h Reorganize local header files 2019-09-28 20:26:35 +02:00
asn1_par.c Avoid leak in error path of asn1_parse2 2020-01-14 18:34:03 +01:00
asn_mime.c Forgotten GOST2012 support in non-vital places 2020-02-14 12:24:31 +03:00
asn_moid.c Reorganize private crypto header files 2019-09-28 20:26:34 +02:00
asn_mstbl.c Following the license change, modify the boilerplates in crypto/asn1/ 2018-12-06 14:24:40 +01:00
asn_pack.c Following the license change, modify the boilerplates in crypto/asn1/ 2018-12-06 14:24:40 +01:00
bio_asn1.c Following the license change, modify the boilerplates in crypto/asn1/ 2018-12-06 14:24:40 +01:00
bio_ndef.c Explicitly test against NULL; do not use !p or similar 2019-10-09 21:32:15 +02:00
build.info Add d2i_KeyParams/i2d_KeyParams API's. 2019-05-27 21:55:10 +10:00
charmap.h Run make update 2020-01-02 14:39:34 +00:00
charmap.pl Make generated copyright year be "now" 2020-01-07 15:53:15 -05:00
d2i_param.c Reorganize private crypto header files 2019-09-28 20:26:34 +02:00
d2i_pr.c Explicitly test against NULL; do not use !p or similar 2019-10-09 21:32:15 +02:00
d2i_pu.c Deprecate the low level DSA functions. 2020-02-12 08:52:41 +10:00
evp_asn1.c Following the license change, modify the boilerplates in crypto/asn1/ 2018-12-06 14:24:40 +01:00
f_int.c Reorganize private crypto header files 2019-09-28 20:26:34 +02:00
f_string.c Reorganize private crypto header files 2019-09-28 20:26:34 +02:00
i2d_param.c Reorganize private crypto header files 2019-09-28 20:26:34 +02:00
i2d_pr.c Rethink the EVP_PKEY cache of provider side keys 2020-02-29 05:39:43 +01:00
i2d_pu.c Deprecate the low level DSA functions. 2020-02-12 08:52:41 +10:00
n_pkey.c Move ASN1_BROKEN macros 2019-03-19 12:01:24 +01:00
nsseq.c Following the license change, modify the boilerplates in crypto/asn1/ 2018-12-06 14:24:40 +01:00
p5_pbe.c Following the license change, modify the boilerplates in crypto/asn1/ 2018-12-06 14:24:40 +01:00
p5_pbev2.c Explicitly test against NULL; do not use !p or similar 2019-10-09 21:32:15 +02:00
p5_scrypt.c Coverity CID 1444959: Integer handling issues 2019-05-08 09:52:58 +10:00
p8_pkey.c New functions for PKCS8 attributes management 2020-01-24 15:09:05 +03:00
standard_methods.h Following the license change, modify the boilerplates in crypto/asn1/ 2018-12-06 14:24:40 +01:00
t_bitst.c Following the license change, modify the boilerplates in crypto/asn1/ 2018-12-06 14:24:40 +01:00
t_pkey.c Reorganize private crypto header files 2019-09-28 20:26:34 +02:00
t_spki.c Explicitly test against NULL; do not use !p or similar 2019-10-09 21:32:15 +02:00
tasn_dec.c Explicitly test against NULL; do not use !p or similar 2019-10-09 21:32:15 +02:00
tasn_enc.c Explicitly test against NULL; do not use !p or similar 2019-10-09 21:32:15 +02:00
tasn_fre.c Explicitly test against NULL; do not use !p or similar 2019-10-09 21:32:15 +02:00
tasn_new.c Reorganize local header files 2019-09-28 20:26:35 +02:00
tasn_prn.c Reorganize local header files 2019-09-28 20:26:35 +02:00
tasn_scn.c Reorganize local header files 2019-09-28 20:26:35 +02:00
tasn_typ.c constify *_dup() and *i2d_*() and related functions as far as possible, introducing DECLARE_ASN1_DUP_FUNCTION 2019-03-06 16:10:09 +00:00
tasn_utl.c Reorganize local header files 2019-09-28 20:26:35 +02:00
tbl_standard.h Following the license change, modify the boilerplates in crypto/asn1/ 2018-12-06 14:24:40 +01:00
x_algor.c Reorganize private crypto header files 2019-09-28 20:26:34 +02:00
x_bignum.c Explicitly test against NULL; do not use !p or similar 2019-10-09 21:32:15 +02:00
x_info.c Following the license change, modify the boilerplates in crypto/asn1/ 2018-12-06 14:24:40 +01:00
x_int64.c Reorganize local header files 2019-09-28 20:26:35 +02:00
x_long.c Update source files for deprecation at 3.0 2019-11-07 11:37:25 +01:00
x_pkey.c Following the license change, modify the boilerplates in crypto/asn1/ 2018-12-06 14:24:40 +01:00
x_sig.c Reorganize private crypto header files 2019-09-28 20:26:34 +02:00
x_spki.c Following the license change, modify the boilerplates in crypto/asn1/ 2018-12-06 14:24:40 +01:00
x_val.c Following the license change, modify the boilerplates in crypto/asn1/ 2018-12-06 14:24:40 +01:00