openssl/providers/implementations
Richard Levitte 6a2b8ff392 Decoding PKCS#8: separate decoding of encrypted and unencrypted PKCS#8
This has us switch from the 'structure' "pkcs8" to "PrivateKeyInfo",
which is sensible considering we already have "SubjectPublicKeyInfo".
We also add "EncryptedPrivateKeyInfo", and use it for a special decoder
that detects and decrypts an EncryptedPrivateKeyInfo structured DER
blob into a PrivateKeyInfo structured DER blob and passes that on to
the next decoder implementation.

The result of this change is that PKCS#8 decryption should only happen
once per decoding instead of once for every expected key type.
Furthermore, this new decoder implementation sets the data type to the
OID of the algorithmIdentifier field, thus reducing how many decoder
implementations are tentativaly run further down the call chain.

Reviewed-by: Tomas Mraz <tomas@openssl.org>
Reviewed-by: Matt Caswell <matt@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/15498)
2021-06-09 17:00:10 +02:00
..
asymciphers Move libssl related defines used by fips provider to prov_ssl.h 2021-06-04 17:06:47 +02:00
ciphers Add a gettable for provider ciphers to return the EVP_CIPH_RAND_KEY flag 2021-06-08 15:16:06 +10:00
digests Drop libimplementations.a 2021-05-07 10:17:23 +02:00
encode_decode Decoding PKCS#8: separate decoding of encrypted and unencrypted PKCS#8 2021-06-09 17:00:10 +02:00
exchange Rename all getters to use get/get0 in name 2021-06-01 12:40:00 +02:00
include/prov Decoding PKCS#8: separate decoding of encrypted and unencrypted PKCS#8 2021-06-09 17:00:10 +02:00
kdfs Rename all getters to use get/get0 in name 2021-06-01 12:40:00 +02:00
kem prov: add zero strenght arguments to BN and RAND RNG calls 2021-05-29 17:17:12 +10:00
keymgmt EVP_PKEY_new_raw_private_key: Allow zero length keys 2021-06-08 22:01:34 +10:00
macs Fix errors found by parfait static analyser. 2021-06-03 16:15:41 +10:00
rands Fix compilation on systems with empty _POSIX_TIMERS 2021-06-08 21:05:21 +10:00
signature Rename all getters to use get/get0 in name 2021-06-01 12:40:00 +02:00
storemgmt PROV: drop get_params() and gettable_params() from all decoder implementations 2021-06-05 20:30:35 +10:00
build.info