openssl/include/crypto
Richard Levitte c3e4c1f325 DESERIALIZER: Add foundation for deserializers
This adds a method OSSL_DESERIALIZER, a deserializer context and basic
support to use a set of serializers to get a desired type of data, as
well as deserializer chains.

The idea is that the caller can call OSSL_DESERIALIZER_CTX_add_serializer()
to set up the set of desired results, and to add possible chains, call
OSSL_DESERIALIZER_CTX_add_extra().  All these deserializers are pushed
on an internal stack.

The actual deserialization is then performed using functions like
OSSL_DESERIALIZER_from_bio().  When performing deserialization, the
inernal stack is walked backwards, keeping track of the deserialized
data and its type along the way, until the data kan be processed into
the desired type of data.

Reviewed-by: Matt Caswell <matt@openssl.org>
Reviewed-by: Shane Lontis <shane.lontis@oracle.com>
(Merged from https://github.com/openssl/openssl/pull/12410)
2020-07-24 16:32:00 +02:00
..
__DECC_INCLUDE_EPILOGUE.H
__DECC_INCLUDE_PROLOGUE.H
aes_platform.h
aria.h
asn1_dsa.h
asn1.h Constify X509_PUBKEY_get(), X509_PUBKEY_get0(), and X509_PUBKEY_get0_param() 2020-05-26 09:35:05 +02:00
async.h
bn_conf.h.in
bn_dh.h
bn_srp.h
bn.h
chacha.h
cmll_platform.h
cms.h crypto/cms: add CAdES-BES signed attributes validation 2020-05-27 13:16:30 +02:00
cryptlib.h
ctype.h
des_platform.h
dh.h Add ACVP fips module tests 2020-06-17 11:33:16 +10:00
dsa.h Add ACVP fips module tests 2020-06-17 11:33:16 +10:00
dso_conf.h.in
ec.h Add more complete support for libctx/propq in the EC code 2020-06-19 10:34:58 +01:00
ecx.h
engine.h
err.h
ess.h crypto/cms: add CAdES-BES signed attributes validation 2020-05-27 13:16:30 +02:00
evp.h KEYMGMT: Add key loading function OSSL_FUNC_keymgmt_load() 2020-07-24 16:32:00 +02:00
lhash.h
md32_common.h
modes.h
objects.h
poly1305.h
rand.h share rand_pool between libcrypto and providers 2020-06-24 20:05:41 +10:00
rsa.h Add ACVP fips module tests 2020-06-17 11:33:16 +10:00
security_bits.h
serializer.h DESERIALIZER: Add foundation for deserializers 2020-07-24 16:32:00 +02:00
sha.h
siphash.h
siv.h Fix provider cipher reinit issue 2020-07-22 10:40:55 +10:00
sm2.h
sm2err.h
sm4.h
sparse_array.h
store.h Add X509 related libctx changes. 2020-07-24 22:53:27 +10:00
x509.h Add X509 related libctx changes. 2020-07-24 22:53:27 +10:00
x509v3.h