openssl/crypto/include/internal
Richard Levitte a94a3e0d91 Add basic EVP_KEYMGMT API and libcrypto <-> provider interface
The idea with the key management "operation" is to support the
following set of functionality:

- Key domain parameter generation
- Key domain parameter import
- Key domain parameter export

- Key generation
- Key import
- Key export
- Key loading (HSM / hidden key support)

With that set of function, we can support handling domain parameters
on one provider, key handling on another, and key usage on a third,
with transparent export / import of applicable data.  Of course, if a
provider doesn't offer export / import functionality, then all
operations surrounding a key must be performed with the same
provider.

This method also avoids having to do anything special with legacy
assignment of libcrypto key structures, i.e. EVP_PKEY_assign_RSA().
They will simply be used as keys to be exported from whenever they are
used with provider based operations.

This change only adds the EVP_KEYMGMT API and the libcrypto <->
provider interface.  Further changes will integrate them into existing
libcrypto functionality.

Reviewed-by: Matt Caswell <matt@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/9312)
2019-07-22 06:17:38 +02:00
..
__DECC_INCLUDE_EPILOGUE.H Following the license change, modify the boilerplates in include/ and crypto/include/ 2018-12-06 15:57:31 +01:00
__DECC_INCLUDE_PROLOGUE.H Following the license change, modify the boilerplates in include/ and crypto/include/ 2018-12-06 15:57:31 +01:00
aes_platform.h Fix S390X compile error due to missing defines 2019-07-18 16:07:26 +10:00
aria.h Following the license change, modify the boilerplates in include/ and crypto/include/ 2018-12-06 15:57:31 +01:00
asn1_dsa.h Convert asn1_dsa.c to use the WPACKET API instead 2019-07-12 06:26:46 +10:00
asn1_int.h Following the license change, modify the boilerplates in include/ and crypto/include/ 2018-12-06 15:57:31 +01:00
async.h Convert thread stop handling into a publish/subscribe model 2019-06-17 15:32:54 +01:00
bn_conf.h.in Following the license change, modify the boilerplates in include/ and crypto/include/ 2018-12-06 15:57:31 +01:00
bn_dh.h Following the license change, modify the boilerplates in include/ and crypto/include/ 2018-12-06 15:57:31 +01:00
bn_int.h fixed mismatching #ifdef cpp 2019-03-21 10:22:07 +10:00
bn_srp.h Following the license change, modify the boilerplates in include/ and crypto/include/ 2018-12-06 15:57:31 +01:00
chacha.h Remove tab characters from C source files. 2019-07-16 20:24:10 +10:00
cryptlib_int.h Provide an ability to deregister thread stop handlers 2019-06-19 11:54:34 +01:00
ctype.h Following the license change, modify the boilerplates in include/ and crypto/include/ 2018-12-06 15:57:31 +01:00
dso_conf.h.in Rework DSO API conditions and configuration option 2019-04-01 06:14:50 +02:00
ec_int.h Following the license change, modify the boilerplates in include/ and crypto/include/ 2018-12-06 15:57:31 +01:00
engine.h Following the license change, modify the boilerplates in include/ and crypto/include/ 2018-12-06 15:57:31 +01:00
err_int.h Convert thread stop handling into a publish/subscribe model 2019-06-17 15:32:54 +01:00
ess_int.h crypto/cms: Add support for CAdES Basic Electronic Signatures (CAdES-BES) 2019-01-27 23:59:21 +01:00
evp_int.h Add basic EVP_KEYMGMT API and libcrypto <-> provider interface 2019-07-22 06:17:38 +02:00
lhash.h Following the license change, modify the boilerplates in include/ and crypto/include/ 2018-12-06 15:57:31 +01:00
md32_common.h Following the license change, modify the boilerplates in include/ and crypto/include/ 2018-12-06 15:57:31 +01:00
modes_int.h Add Common shared code needed to move aes ciphers to providers 2019-07-16 09:46:14 +10:00
objects.h Following the license change, modify the boilerplates in include/ and crypto/include/ 2018-12-06 15:57:31 +01:00
poly1305.h Following the license change, modify the boilerplates in include/ and crypto/include/ 2018-12-06 15:57:31 +01:00
rand_int.h Provide rand_bytes_ex and rand_priv_bytes_ex 2019-07-02 16:49:18 +01:00
sha.h Move digests to providers 2019-06-04 12:09:50 +10:00
siphash.h Following the license change, modify the boilerplates in include/ and crypto/include/ 2018-12-06 15:57:31 +01:00
siv_int.h Add Common shared code needed to move aes ciphers to providers 2019-07-16 09:46:14 +10:00
sm2.h Following the license change, modify the boilerplates in include/ and crypto/include/ 2018-12-06 15:57:31 +01:00
sm2err.h Regenerate mkerr files 2019-07-16 05:26:28 +02:00
sm4.h Following the license change, modify the boilerplates in include/ and crypto/include/ 2018-12-06 15:57:31 +01:00
sparse_array.h Add sparse array of const pointer type 2019-06-01 17:55:33 +10:00
store.h Following the license change, modify the boilerplates in include/ and crypto/include/ 2018-12-06 15:57:31 +01:00
store_int.h Following the license change, modify the boilerplates in include/ and crypto/include/ 2018-12-06 15:57:31 +01:00
x509_int.h Support SM2 certificate signing 2019-06-28 18:58:19 +08:00