openssl/crypto/encode_decode
Richard Levitte 63f187cfed STORE: Add a built-in 'file:' storemgmt implementation (loader)
This replaces the older 'file:' loader that is now an engine.

It's still possible to use the older 'file:' loader by explicitly
using the engine, and tests will remain for it as long as ENGINEs are
still supported (even through deprecated).

To support this storemgmt implementation, a few internal OSSL_DECODER
modifications are needed:

-   An internal function that implements most of
    OSSL_DECODER_CTX_new_by_EVP_PKEY(), but operates on an already
    existing OSSL_DECODER_CTX instead of allocating a new one.
-   Allow direct creation of a OSSL_DECODER from an OSSL_ALGORITHM.
    It isn't attached to any provider, and is only used internally, to
    simply catch any DER encoded object to be passed back to the
    object callback with no further checking.  This implementation
    becomes the last resort decoder, when all "normal"
    decodation attempts (i.e. those that are supposed to result
    in an OpenSSL object of some sort) have failed.

Because file_store_attach() uses BIO_tell(), we must also support
BIO_ctrl() as a libcrypto upcall.

Reviewed-by: Matt Caswell <matt@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/12587)
2020-09-03 17:48:32 +02:00
..
build.info CORE: Generalise internal pass phrase prompter 2020-08-24 10:02:25 +02:00
decoder_err.c Rename OSSL_SERIALIZER / OSSL_DESERIALIZER to OSSL_ENCODE / OSSL_DECODE 2020-08-21 09:23:58 +02:00
decoder_lib.c STORE: Add a built-in 'file:' storemgmt implementation (loader) 2020-09-03 17:48:32 +02:00
decoder_meth.c STORE: Add a built-in 'file:' storemgmt implementation (loader) 2020-09-03 17:48:32 +02:00
decoder_pkey.c STORE: Add a built-in 'file:' storemgmt implementation (loader) 2020-09-03 17:48:32 +02:00
encoder_err.c Rename OSSL_SERIALIZER / OSSL_DESERIALIZER to OSSL_ENCODE / OSSL_DECODE 2020-08-21 09:23:58 +02:00
encoder_lib.c Rename OSSL_SERIALIZER / OSSL_DESERIALIZER to OSSL_ENCODE / OSSL_DECODE 2020-08-21 09:23:58 +02:00
encoder_local.h OSSL_ENCODER / OSSL_DECODER post-rename cleanup 2020-09-03 17:48:31 +02:00
encoder_meth.c OSSL_ENCODER / OSSL_DECODER post-rename cleanup 2020-09-03 17:48:31 +02:00
encoder_pkey.c OSSL_ENCODER / OSSL_DECODER post-rename cleanup 2020-09-03 17:48:31 +02:00