openssl/providers/implementations/include/prov
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
..
__DECC_INCLUDE_EPILOGUE.H VMS: Copy __DECC_INCLUDE_{PROLOGUE,EPILOGUE}.H to more places 2021-05-20 16:26:44 +02:00
__DECC_INCLUDE_PROLOGUE.H VMS: Copy __DECC_INCLUDE_{PROLOGUE,EPILOGUE}.H to more places 2021-05-20 16:26:44 +02:00
blake2.h Update copyright year 2021-03-11 13:27:36 +00:00
ciphercommon_aead.h Update copyright year 2021-02-18 15:05:17 +00:00
ciphercommon_ccm.h Update copyright year 2021-03-11 13:27:36 +00:00
ciphercommon_gcm.h Update copyright year 2021-03-11 13:27:36 +00:00
ciphercommon.h Add a gettable for provider ciphers to return the EVP_CIPH_RAND_KEY flag 2021-06-08 15:16:06 +10:00
digestcommon.h prov: support param argument to digest init calls 2021-03-12 08:27:11 +10:00
implementations.h Decoding PKCS#8: separate decoding of encrypted and unencrypted PKCS#8 2021-06-09 17:00:10 +02:00
kdfexchange.h Update copyright year 2021-04-08 13:04:41 +01:00
macsignature.h rename mac_key_* to ossl_mac_key_* 2020-11-19 07:38:58 +10:00
md5_sha1.h Update copyright year 2021-03-11 13:27:36 +00:00
names.h PROV: Add OIDs we know to all provider applicable algorithms 2021-04-18 10:10:23 +02:00
seeding.h Update copyright year 2021-04-08 13:04:41 +01:00