CORE: Add the key object generator libcrypto<->provider interface
authorRichard Levitte <levitte@openssl.org>
Sat, 26 Oct 2019 11:00:56 +0000 (13:00 +0200)
committerRichard Levitte <levitte@openssl.org>
Thu, 12 Mar 2020 09:43:58 +0000 (10:43 +0100)
commit1a5632e0dcc5cdc2b3440694cb50e04994bb1391
tree66fdd6c32a5e57a60e2afcc2377bf058ced1d711
parent1c725f463edf0a5b33a2a93e9a43a9ab682af7db
CORE: Add the key object generator libcrypto<->provider interface

We introduce these dispatched functions:

-   OP_keymgmt_gen_init() to initialize the key object generation.
-   OP_keymgmt_gen_set_template() to set a template for key object
    generation.  The template is another key object, for example one
    with domain parameters.
-   OP_keymgmt_gen_set_params() to set other key object generation
    parameters.
-   OP_keymgmt_gen_settable_params() to find out what settable
    parameters there are.
-   OP_keymgmt_gen() to perform the key object generation.
-   OP_keymgmt_gen_cleanup() to clean up the key object generation.

Internal function for easy and consistent use of these ddispatched
functions are added.

Reviewed-by: Shane Lontis <shane.lontis@oracle.com>
(Merged from https://github.com/openssl/openssl/pull/10289)
crypto/evp/evp_local.h
crypto/evp/keymgmt_meth.c
doc/man7/provider-keymgmt.pod
include/crypto/evp.h
include/openssl/core_numbers.h