summaryrefslogtreecommitdiffstats
path: root/include/crypto/ec.h
diff options
context:
space:
mode:
authorRichard Levitte <levitte@openssl.org>2020-03-23 05:40:47 +0100
committerRichard Levitte <levitte@openssl.org>2020-03-25 17:01:32 +0100
commit0abae1636d7054266dd20724c0d5e06617d9f679 (patch)
tree2237cb7a395a335ba4da5a530d2116b3e5f0e3aa /include/crypto/ec.h
parenttest/evp_pkey_provided_test.c: Add test of EVP_PKEY_copy_parameters() (diff)
downloadopenssl-0abae1636d7054266dd20724c0d5e06617d9f679.tar.xz
openssl-0abae1636d7054266dd20724c0d5e06617d9f679.zip
EVP: Implement support for key downgrading in backends
Downgrading EVP_PKEYs from containing provider side internal keys to containing legacy keys demands support in the EVP_PKEY_ASN1_METHOD. This became a bit elaborate because the code would be almost exactly the same as the import functions int EVP_KEYMGMT. Therefore, we end up moving most of the code to common backend support files that can be used both by legacy backend code and by our providers. Reviewed-by: Matt Caswell <matt@openssl.org> (Merged from https://github.com/openssl/openssl/pull/11375)
Diffstat (limited to 'include/crypto/ec.h')
-rw-r--r--include/crypto/ec.h8
1 files changed, 8 insertions, 0 deletions
diff --git a/include/crypto/ec.h b/include/crypto/ec.h
index 00b1b25aff..91fd9ebac9 100644
--- a/include/crypto/ec.h
+++ b/include/crypto/ec.h
@@ -14,6 +14,7 @@
# include <openssl/opensslconf.h>
# ifndef OPENSSL_NO_EC
+# include <openssl/core.h>
# include <openssl/ec.h>
/*-
@@ -56,5 +57,12 @@ OPENSSL_CTX *ec_key_get_libctx(const EC_KEY *eckey);
const char *ec_curve_nid2name(int nid);
int ec_curve_name2nid(const char *name);
const unsigned char *ecdsa_algorithmidentifier_encoding(int md_nid, size_t *len);
+
+/* Backend support */
+int ec_key_fromdata(EC_KEY *ecx, const OSSL_PARAM params[], int include_private);
+int ec_key_domparams_fromdata(EC_KEY *ecx, const OSSL_PARAM params[]);
+int ec_key_otherparams_fromdata(EC_KEY *ec, const OSSL_PARAM params[]);
+int ec_set_param_ecdh_cofactor_mode(EC_KEY *ec, const OSSL_PARAM *p);
+
# endif /* OPENSSL_NO_EC */
#endif