diff options
author | Richard Levitte <levitte@openssl.org> | 2019-07-05 00:31:42 +0200 |
---|---|---|
committer | Richard Levitte <levitte@openssl.org> | 2019-07-22 06:17:38 +0200 |
commit | a94a3e0d91378b5c478f687a0dbc51914d4ed497 (patch) | |
tree | a649885fc1d6560a2928c610d9adaaf4ec6dbfcc /crypto/evp/build.info | |
parent | 7312ef3fc4a7d391272f3ba8075eabf81a229ad2 (diff) |
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)
Diffstat (limited to 'crypto/evp/build.info')
-rw-r--r-- | crypto/evp/build.info | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/crypto/evp/build.info b/crypto/evp/build.info index 5030f3f68d..d889897b18 100644 --- a/crypto/evp/build.info +++ b/crypto/evp/build.info @@ -1,5 +1,6 @@ LIBS=../../libcrypto -$COMMON=digest.c evp_enc.c evp_lib.c evp_fetch.c cmeth_lib.c evp_utils.c +$COMMON=digest.c evp_enc.c evp_lib.c evp_fetch.c cmeth_lib.c keymgmt_meth.c \ + evp_utils.c SOURCE[../../libcrypto]=$COMMON\ encode.c evp_key.c evp_cnf.c \ e_des.c e_bf.c e_idea.c e_des3.c e_camellia.c\ |