diff options
author | Aaron Thompson <dev@aaront.org> | 2020-04-07 00:18:09 +0000 |
---|---|---|
committer | Dmitry Belyavskiy <beldmit@gmail.com> | 2020-04-14 17:58:17 +0300 |
commit | ff1f7cdeb159e89ce305422b6e2a7e4002d825ab (patch) | |
tree | 84c03fb009b4be1564009aae97d66509be9e3e19 /include | |
parent | 0437435a960123be1ced766d18d715f939698345 (diff) |
Add ex_data to EVP_PKEY.
Reviewed-by: Matt Caswell <matt@openssl.org>
Reviewed-by: Dmitry Belyavskiy <beldmit@gmail.com>
(Merged from https://github.com/openssl/openssl/pull/11515)
Diffstat (limited to 'include')
-rw-r--r-- | include/crypto/evp.h | 3 | ||||
-rw-r--r-- | include/openssl/crypto.h | 3 | ||||
-rw-r--r-- | include/openssl/evp.h | 5 |
3 files changed, 10 insertions, 1 deletions
diff --git a/include/crypto/evp.h b/include/crypto/evp.h index 63b6dad9c6..8acbc6a73e 100644 --- a/include/crypto/evp.h +++ b/include/crypto/evp.h @@ -557,6 +557,9 @@ struct evp_pkey_st { CRYPTO_RWLOCK *lock; STACK_OF(X509_ATTRIBUTE) *attributes; /* [ 0 ] */ int save_parameters; +#ifndef FIPS_MODE + CRYPTO_EX_DATA ex_data; +#endif /* == Provider attributes == */ diff --git a/include/openssl/crypto.h b/include/openssl/crypto.h index 3508144b4a..c184d847f8 100644 --- a/include/openssl/crypto.h +++ b/include/openssl/crypto.h @@ -192,7 +192,8 @@ DEFINE_STACK_OF(void) # define CRYPTO_EX_INDEX_RAND_DRBG 15 # define CRYPTO_EX_INDEX_DRBG CRYPTO_EX_INDEX_RAND_DRBG # define CRYPTO_EX_INDEX_OPENSSL_CTX 16 -# define CRYPTO_EX_INDEX__COUNT 17 +# define CRYPTO_EX_INDEX_EVP_PKEY 17 +# define CRYPTO_EX_INDEX__COUNT 18 typedef void CRYPTO_EX_new (void *parent, void *ptr, CRYPTO_EX_DATA *ad, int idx, long argl, void *argp); diff --git a/include/openssl/evp.h b/include/openssl/evp.h index a14e899202..3945e43fac 100644 --- a/include/openssl/evp.h +++ b/include/openssl/evp.h @@ -1616,6 +1616,11 @@ int EVP_PKEY_param_check(EVP_PKEY_CTX *ctx); int EVP_PKEY_private_check(EVP_PKEY_CTX *ctx); int EVP_PKEY_pairwise_check(EVP_PKEY_CTX *ctx); +# define EVP_PKEY_get_ex_new_index(l, p, newf, dupf, freef) \ + CRYPTO_get_ex_new_index(CRYPTO_EX_INDEX_EVP_PKEY, l, p, newf, dupf, freef) +int EVP_PKEY_set_ex_data(EVP_PKEY *key, int idx, void *arg); +void *EVP_PKEY_get_ex_data(const EVP_PKEY *key, int idx); + void EVP_PKEY_CTX_set_cb(EVP_PKEY_CTX *ctx, EVP_PKEY_gen_cb *cb); EVP_PKEY_gen_cb *EVP_PKEY_CTX_get_cb(EVP_PKEY_CTX *ctx); |