openssl/util
Richard Levitte 0d003c52d3 SERIALIZER: New API for serialization of objects through providers
Serialization is needed to be able to take a provider object (such as
the provider side key data) and output it in PEM form, DER form, text
form (for display), and possibly other future forms (XML? JSON? JWK?)

The idea is that a serializer should be able to handle objects it has
intimate knowledge of, as well as object data in OSSL_PARAM form.  The
latter will allow libcrypto to serialize some object with a different
provider than the one holding the data, if exporting of that data is
allowed and there is a serializer that can handle it.

We will provide serializers for the types of objects we know about,
which should be useful together with any other provider that provides
implementations of the same type of object.

Serializers are selected by method name and a couple of additional
properties:

- format        used to tell what format the output should be in.
                Possibilities could include "format=text",
                "format=pem", "format=der", "format=pem-pkcs1"
                (traditional), "format=der-pkcs1" (traditional)
- type          used to tell exactly what type of data should be
                output, for example "type=public" (the public part of
                a key), "type=private" (the private part of a key),
                "type=domainparams" (domain parameters).

This also adds a passphrase callback function type,
OSSL_PASSPHRASE_CALLBACK, which is a bit like OSSL_CALLBACK, but it
takes a few extra arguments to place the result in.

Reviewed-by: Matt Caswell <matt@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/10394)
2019-11-29 20:54:48 +01:00
..
perl util/perl/OpenSSL/ParseC.pm: Fix 'extern "C" DEPRECATEDIN_x_y(...)' 2019-11-12 13:30:34 +01:00
add-depends.pl
build.info
cavs-to-evptest.pl
check-malloc-errs
ck_errf.pl
copy.pl
dofile.pl configdata.pm.in, util/dofile.pl: load 'platform' unconditionally 2019-11-29 09:47:57 +01:00
echo.pl
engines.num
err-to-raise Add merge-err-lines script 2019-09-19 09:27:38 -04:00
find-doc-nits util/find-doc-nits: Better parsing of links 2019-11-27 16:18:28 +01:00
find-unused-errs
fix-includes Add util/fix-includes script 2019-09-28 20:26:37 +02:00
fix-includes.sed Add util/fix-includes script 2019-09-28 20:26:37 +02:00
indent.pro Deprecated {OPENSSL,CRYPTO}_debug_mem_{push,pop} 2019-07-17 14:48:06 +02:00
libcrypto.num SERIALIZER: New API for serialization of objects through providers 2019-11-29 20:54:48 +01:00
libssl.num Update source files for deprecation at 3.0 2019-11-07 11:37:25 +01:00
local_shlib.com.in
merge-err-lines Add merge-err-lines script 2019-09-19 09:27:38 -04:00
missingcrypto111.txt Cleanse KDF missing crypto files 2019-09-06 19:27:57 +10:00
missingcrypto.txt Delete recently documented functions from missingcrypto 2019-11-14 17:23:29 +01:00
missingmacro111.txt Enable find-doc-nits to find undocumented symbols since 1.1.1 2019-06-12 10:12:24 +01:00
missingmacro.txt Document added SSL functions related to X509_LOOKUP_store 2019-11-03 18:40:17 +01:00
missingssl111.txt SSL: Document SSL_add_{file,dir,store}_cert_subjects_to_stack() 2019-11-12 13:38:36 +01:00
missingssl.txt SSL: Document SSL_add_{file,dir,store}_cert_subjects_to_stack() 2019-11-12 13:38:36 +01:00
mkbuildinf.pl
mkdef.pl Change the logic and behaviour surrounding '--api' and 'no-deprecated' 2019-11-07 11:37:25 +01:00
mkdir-p.pl
mkerr.pl Make sure KDF reason codes are conserved in their current state 2019-11-12 13:30:35 +01:00
mknum.pl util/mknum.pl: output stats on unassigned symbols 2019-11-05 22:44:21 +01:00
mkrc.pl Generate include/openssl/opensslv.h 2019-10-18 12:22:00 +02:00
mktar.sh
openssl-format-source
openssl-update-copyright
opensslwrap.sh util/opensslwrap.sh: adjust to define OPENSSL_MODULES as well 2019-07-15 16:14:35 +02:00
other.syms SERIALIZER: New API for serialization of objects through providers 2019-11-29 20:54:48 +01:00
process_docs.pl
providers.num
shlib_wrap.sh.in
su-filter.pl
unlocal_shlib.com.in