openssl/crypto/ec
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
..
asm ec: Add PPC64 vector assembly version of p521 field operations 2021-05-29 16:07:15 +10:00
curve448 Use <> for #include openssl/xxx 2021-05-27 09:56:41 +10:00
build.info ec: Add PPC64 vector assembly version of p521 field operations 2021-05-29 16:07:15 +10:00
curve25519.c Update copyright year 2021-04-08 13:04:41 +01:00
ec2_oct.c Replace some of the ERR_clear_error() calls with mark calls 2021-05-13 19:26:06 +02:00
ec2_smpl.c add zero strenght arguments to BN and RAND RNG calls 2021-05-29 17:17:12 +10:00
ec_ameth.c Rename all getters to use get/get0 in name 2021-06-01 12:40:00 +02:00
ec_asn1.c Implement pem_read_key directly through OSSL_DECODER 2021-05-13 13:30:07 +02:00
ec_backend.c Add a generic SubjectPublicKeyInfo decoder 2021-06-14 09:43:01 +01:00
ec_check.c
ec_curve.c
ec_cvt.c
ec_deprecated.c
ec_err.c crypto: updates to pass size_t to RAND_bytes_ex() 2021-06-01 18:13:56 +10:00
ec_key.c add zero strenght arguments to BN and RAND RNG calls 2021-05-29 17:17:12 +10:00
ec_kmeth.c
ec_lib.c
ec_local.h
ec_mult.c ec: remove TODOs 2021-06-02 16:30:15 +10:00
ec_oct.c
ec_pmeth.c Rename all getters to use get/get0 in name 2021-06-01 12:40:00 +02:00
ec_print.c
ecdh_kdf.c Rename all getters to use get/get0 in name 2021-06-01 12:40:00 +02:00
ecdh_ossl.c
ecdsa_ossl.c add zero strenght arguments to BN and RAND RNG calls 2021-05-29 17:17:12 +10:00
ecdsa_sign.c
ecdsa_vrf.c
eck_prn.c
ecp_mont.c
ecp_nist.c
ecp_nistp224.c Rework and make DEBUG macros consistent. 2021-05-28 10:04:31 +02:00
ecp_nistp256.c Rework and make DEBUG macros consistent. 2021-05-28 10:04:31 +02:00
ecp_nistp521.c ec: Add PPC64 vector assembly version of p521 field operations 2021-05-29 16:07:15 +10:00
ecp_nistputil.c
ecp_nistz256_table.c
ecp_nistz256.c
ecp_oct.c Replace some of the ERR_clear_error() calls with mark calls 2021-05-13 19:26:06 +02:00
ecp_s390x_nistp.c crypto: updates to pass size_t to RAND_bytes_ex() 2021-06-01 18:13:56 +10:00
ecp_smpl.c add zero strenght arguments to BN and RAND RNG calls 2021-05-29 17:17:12 +10:00
ecx_backend.c add zero strenght arguments to BN and RAND RNG calls 2021-05-29 17:17:12 +10:00
ecx_backend.h
ecx_key.c Do not allow creating empty RSA keys by duplication 2021-04-15 09:23:18 +02:00
ecx_meth.c Rename all getters to use get/get0 in name 2021-06-01 12:40:00 +02:00
ecx_s390x.c