diff options
author | Richard Levitte <levitte@openssl.org> | 2020-07-08 23:04:08 +0200 |
---|---|---|
committer | Richard Levitte <levitte@openssl.org> | 2020-07-24 16:32:00 +0200 |
commit | c3e4c1f325e6fc829a5b00a19a6019249cac781a (patch) | |
tree | cc05f9636e452d3fba177163cfca9d13b403a4d6 /crypto/property | |
parent | 5dacb38ccefd45d832c9710b4dd0121fdcbdac72 (diff) |
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)
Diffstat (limited to 'crypto/property')
-rw-r--r-- | crypto/property/property_parse.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/crypto/property/property_parse.c b/crypto/property/property_parse.c index 41a5a059c5..91b830c2e5 100644 --- a/crypto/property/property_parse.c +++ b/crypto/property/property_parse.c @@ -598,6 +598,7 @@ int ossl_property_parse_init(OPENSSL_CTX *ctx) "fips", /* FIPS validated or FIPS supporting algorithm */ "format", /* output format for serializers */ "type", /* output type for serializers */ + "input", /* input type for deserializers */ }; size_t i; |