diff options
author | Richard Levitte <levitte@openssl.org> | 2020-03-18 17:54:47 +0300 |
---|---|---|
committer | Richard Levitte <levitte@openssl.org> | 2020-04-08 16:30:25 +0300 |
commit | c2041da8c15027ddde5afcf9809d8d3a975eb25b (patch) | |
tree | bf9d645794fd9bdb554d7e09d4af0a04180905f5 /include | |
parent | 4f76d62f2384d3335bd1d043706995ae64b37348 (diff) |
EVP & TLS: Add necessary EC_KEY data extraction functions, and use them
libssl code uses EVP_PKEY_get0_EC_KEY() to extract certain basic data
from the EC_KEY. We replace that with internal EVP_PKEY functions.
This may or may not be refactored later on.
Reviewed-by: Matt Caswell <matt@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/11358)
Diffstat (limited to 'include')
-rw-r--r-- | include/internal/evp.h | 23 | ||||
-rw-r--r-- | include/openssl/evp.h | 1 |
2 files changed, 24 insertions, 0 deletions
diff --git a/include/internal/evp.h b/include/internal/evp.h new file mode 100644 index 0000000000..404e48322c --- /dev/null +++ b/include/internal/evp.h @@ -0,0 +1,23 @@ +/* + * Copyright 2020 The OpenSSL Project Authors. All Rights Reserved. + * + * Licensed under the Apache License 2.0 (the "License"). You may not use + * this file except in compliance with the License. You can obtain a copy + * in the file LICENSE in the source distribution or at + * https://www.openssl.org/source/license.html + */ + +#ifndef OSSL_INTERNAL_EVP_H +# define OSSL_INTERNAL_EVP_H + +# include <openssl/evp.h> + +# ifndef OPENSSL_NO_EC +/* + * TODO(3.0) While waiting for more generic getters, we have these functions + * as an interim solution. This should be removed when the generic getters + * appear. + */ +int evp_pkey_get_EC_KEY_curve_nid(const EVP_PKEY *pkey); +# endif +#endif diff --git a/include/openssl/evp.h b/include/openssl/evp.h index 4545bf7170..a14e899202 100644 --- a/include/openssl/evp.h +++ b/include/openssl/evp.h @@ -1111,6 +1111,7 @@ int EVP_PKEY_base_id(const EVP_PKEY *pkey); int EVP_PKEY_bits(const EVP_PKEY *pkey); int EVP_PKEY_security_bits(const EVP_PKEY *pkey); int EVP_PKEY_size(const EVP_PKEY *pkey); +int EVP_PKEY_can_sign(const EVP_PKEY *pkey); int EVP_PKEY_set_type(EVP_PKEY *pkey, int type); int EVP_PKEY_set_type_str(EVP_PKEY *pkey, const char *str, int len); int EVP_PKEY_set_type_by_keymgmt(EVP_PKEY *pkey, EVP_KEYMGMT *keymgmt); |