diff options
author | Richard Levitte <levitte@openssl.org> | 2020-03-23 05:40:47 +0100 |
---|---|---|
committer | Richard Levitte <levitte@openssl.org> | 2020-03-25 17:01:32 +0100 |
commit | 0abae1636d7054266dd20724c0d5e06617d9f679 (patch) | |
tree | 2237cb7a395a335ba4da5a530d2116b3e5f0e3aa /include/crypto/ec.h | |
parent | test/evp_pkey_provided_test.c: Add test of EVP_PKEY_copy_parameters() (diff) | |
download | openssl-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.h | 8 |
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 |