openssl/include/crypto
Matt Caswell 8c7c1c84cb Add a generic SubjectPublicKeyInfo decoder
Previously all the SubjectPublicKeyInfo decoders were specific to a key
type. We would iterate over all them until a match was found for the correct
key type. Each one would fully decode the key before then testing whether
it was a match or not - throwing it away if not. This was very inefficient.

Instead we introduce a generic SubjectPublicKeyInfo decoder which figures
out what type of key is contained within it, before subsequently passing on
the data to a key type specific SubjectPublicKeyInfo decoder.

Fixes #15646

Reviewed-by: Tomas Mraz <tomas@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/15662)
2021-06-14 09:43:01 +01:00
..
__DECC_INCLUDE_EPILOGUE.H Reorganize private crypto header files 2019-09-28 20:26:34 +02:00
__DECC_INCLUDE_PROLOGUE.H Reorganize private crypto header files 2019-09-28 20:26:34 +02:00
aes_platform.h sparc: fix cross compile build 2021-06-01 15:04:05 +10:00
aria.h Add ossl_aria symbols 2021-03-18 17:52:37 +10:00
asn1_dsa.h Add ossl_encode symbols 2021-03-18 17:52:37 +10:00
asn1.h Add support for ISO 8601 datetime format 2021-06-11 12:39:46 +02:00
asn1err.h err: rename err_load_xxx_strings_int functions 2021-05-26 13:01:47 +10:00
async.h Update copyright year 2021-02-18 15:05:17 +00:00
asyncerr.h err: rename err_load_xxx_strings_int functions 2021-05-26 13:01:47 +10:00
bioerr.h err: rename err_load_xxx_strings_int functions 2021-05-26 13:01:47 +10:00
bn_conf.h.in Update copyright year 2021-02-18 15:05:17 +00:00
bn_dh.h Update copyright year 2021-03-11 13:27:36 +00:00
bn_srp.h Update copyright year 2021-04-08 13:04:41 +01:00
bn.h Fix external symbols for bn 2021-02-26 10:32:22 +10:00
bnerr.h err: rename err_load_xxx_strings_int functions 2021-05-26 13:01:47 +10:00
buffererr.h err: rename err_load_xxx_strings_int functions 2021-05-26 13:01:47 +10:00
chacha.h Update copyright year 2021-02-18 15:05:17 +00:00
cmll_platform.h sparc: fix cross compile build 2021-06-01 15:04:05 +10:00
cmperr.h err: rename err_load_xxx_strings_int functions 2021-05-26 13:01:47 +10:00
cmserr.h err: rename err_load_xxx_strings_int functions 2021-05-26 13:01:47 +10:00
comperr.h err: rename err_load_xxx_strings_int functions 2021-05-26 13:01:47 +10:00
conferr.h err: rename err_load_xxx_strings_int functions 2021-05-26 13:01:47 +10:00
crmferr.h err: rename err_load_xxx_strings_int functions 2021-05-26 13:01:47 +10:00
cryptlib.h Fix a memleak in the FIPS provider 2021-05-24 09:39:15 +10:00
cryptoerr.h err: rename err_load_xxx_strings_int functions 2021-05-26 13:01:47 +10:00
cterr.h err: rename err_load_xxx_strings_int functions 2021-05-26 13:01:47 +10:00
ctype.h Add ossl_asn1 symbols 2021-03-18 17:52:37 +10:00
decoder.h Add internal get_number functions to internal headers 2021-06-02 20:45:39 +10:00
decodererr.h err: rename err_load_xxx_strings_int functions 2021-05-26 13:01:47 +10:00
des_platform.h Update copyright year 2021-02-18 15:05:17 +00:00
dh.h Fixes related to separation of DH and DHX types 2021-04-26 19:52:11 +02:00
dherr.h err: rename err_load_xxx_strings_int functions 2021-05-26 13:01:47 +10:00
dsa.h Detect low-level engine and app method based keys 2021-04-19 11:36:16 +02:00
dsaerr.h err: rename err_load_xxx_strings_int functions 2021-05-26 13:01:47 +10:00
dso_conf.h.in Update copyright year 2021-02-18 15:05:17 +00:00
ec.h Add a generic SubjectPublicKeyInfo decoder 2021-06-14 09:43:01 +01:00
ecerr.h rand: use size_t for size argument to RAND_bytes_ex() 2021-06-01 18:13:36 +10:00
ecx.h Add selection support to the provider keymgmt_dup function 2021-04-15 09:19:39 +02:00
encoder.h Add internal get_number functions to internal headers 2021-06-02 20:45:39 +10:00
encodererr.h err: rename err_load_xxx_strings_int functions 2021-05-26 13:01:47 +10:00
engine.h Reorganize private crypto header files 2019-09-28 20:26:34 +02:00
engineerr.h err: rename err_load_xxx_strings_int functions 2021-05-26 13:01:47 +10:00
err.h err: rename err_load_xxx_strings_int functions 2021-05-26 13:01:47 +10:00
ess.h TS ESS: Move four internal aux function to where they belong in crypto/ts 2021-04-28 14:10:47 +02:00
esserr.h err: rename err_load_xxx_strings_int functions 2021-05-26 13:01:47 +10:00
evp.h add internal get_number functons to crypto/evp.h 2021-06-02 20:45:39 +10:00
evperr.h err: rename err_load_xxx_strings_int functions 2021-05-26 13:01:47 +10:00
httperr.h err: rename err_load_xxx_strings_int functions 2021-05-26 13:01:47 +10:00
lhash.h Add ossl_lhash symbols 2021-03-18 17:52:38 +10:00
md32_common.h Reorganize private crypto header files 2019-09-28 20:26:34 +02:00
modes.h Update copyright year 2021-03-11 13:27:36 +00:00
objects.h Update copyright year 2021-04-08 13:04:41 +01:00
objectserr.h err: rename err_load_xxx_strings_int functions 2021-05-26 13:01:47 +10:00
ocsperr.h err: rename err_load_xxx_strings_int functions 2021-05-26 13:01:47 +10:00
pem.h Pass library context and property query into private key decoders 2021-06-01 12:16:27 +02:00
pemerr.h err: rename err_load_xxx_strings_int functions 2021-05-26 13:01:47 +10:00
pkcs7.h Add library context and property query support into the PKCS12 API 2021-04-30 09:15:50 +10:00
pkcs7err.h err: rename err_load_xxx_strings_int functions 2021-05-26 13:01:47 +10:00
pkcs12err.h err: rename err_load_xxx_strings_int functions 2021-05-26 13:01:47 +10:00
poly1305.h Update copyright year 2021-02-18 15:05:17 +00:00
punycode.h Update copyright year 2021-02-18 15:05:17 +00:00
rand_pool.h Add ossl_rand symbols 2021-03-18 17:52:37 +10:00
rand.h Add ossl_rand symbols 2021-03-18 17:52:37 +10:00
randerr.h err: rename err_load_xxx_strings_int functions 2021-05-26 13:01:47 +10:00
rsa.h Detect low-level engine and app method based keys 2021-04-19 11:36:16 +02:00
rsaerr.h errors: update error message (to be squashed) 2021-05-27 13:01:50 +10:00
security_bits.h Fix misc external ossl_ symbols. 2021-03-18 17:52:37 +10:00
sha.h Crypto: Add deprecation compatibility declarations for SHA* message digest functions 2021-05-08 14:41:36 +02:00
siphash.h Fix a TODO(3.0) in the siphash code 2021-03-17 10:16:21 +10:00
siv.h Update copyright year 2021-04-08 13:04:41 +01:00
sm2.h Elimination of some sources not needed in the FIPS_MODULE 2021-06-07 08:37:09 +02:00
sm2err.h err: rename err_load_xxx_strings_int functions 2021-05-26 13:01:47 +10:00
sm4.h Add ossl_ symbols for sm3 and sm4 2021-03-18 17:52:37 +10:00
sparse_array.h Add ossl_sa symbols 2021-03-18 17:52:37 +10:00
store.h Add internal get_number functions to internal headers 2021-06-02 20:45:39 +10:00
storeerr.h err: rename err_load_xxx_strings_int functions 2021-05-26 13:01:47 +10:00
tserr.h err: rename err_load_xxx_strings_int functions 2021-05-26 13:01:47 +10:00
types.h Added guarding #ifndef/#define to avoid duplicate include of crypto/types.h 2021-03-31 13:28:46 +10:00
uierr.h err: rename err_load_xxx_strings_int functions 2021-05-26 13:01:47 +10:00
x509.h Add a generic SubjectPublicKeyInfo decoder 2021-06-14 09:43:01 +01:00
x509err.h err: rename err_load_xxx_strings_int functions 2021-05-26 13:01:47 +10:00
x509v3err.h err: rename err_load_xxx_strings_int functions 2021-05-26 13:01:47 +10:00