openssl/providers/implementations/encode_decode
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
..
build.info Add a generic SubjectPublicKeyInfo decoder 2021-06-14 09:43:01 +01:00
decode_der2key.c Add a generic SubjectPublicKeyInfo decoder 2021-06-14 09:43:01 +01:00
decode_epki2pki.c Decoding PKCS#8: separate decoding of encrypted and unencrypted PKCS#8 2021-06-09 17:00:10 +02:00
decode_msblob2key.c PROV: drop get_params() and gettable_params() from all decoder implementations 2021-06-05 20:30:35 +10:00
decode_pem2der.c Decoding PKCS#8: separate decoding of encrypted and unencrypted PKCS#8 2021-06-09 17:00:10 +02:00
decode_pvk2key.c PROV: drop get_params() and gettable_params() from all decoder implementations 2021-06-05 20:30:35 +10:00
decode_spki2typespki.c Add a generic SubjectPublicKeyInfo decoder 2021-06-14 09:43:01 +01:00
encode_key2any.c Decoding PKCS#8: separate decoding of encrypted and unencrypted PKCS#8 2021-06-09 17:00:10 +02:00
encode_key2blob.c PROV: drop get_params() and gettable_params() from all encoder implementatio 2021-06-05 20:30:47 +10:00
encode_key2ms.c PROV: drop get_params() and gettable_params() from all encoder implementatio 2021-06-05 20:30:47 +10:00
encode_key2text.c PROV: drop get_params() and gettable_params() from all encoder implementatio 2021-06-05 20:30:47 +10:00
endecoder_common.c Add a generic SubjectPublicKeyInfo decoder 2021-06-14 09:43:01 +01:00
endecoder_local.h Add a generic SubjectPublicKeyInfo decoder 2021-06-14 09:43:01 +01:00