Add ex_data to EVP_PKEY.
[openssl.git] / include / crypto / ec.h
index 9d8882df2e5995e5d2a05bd2c75aca5d0b22e796..91fd9ebac91f7fefd35e255376137756e86ba6ff 100644 (file)
@@ -9,12 +9,12 @@
 
 /* Internal EC functions for other submodules: not for application use */
 
-#ifndef HEADER_OSSL_EC_INTERNAL_H
-# define HEADER_OSSL_EC_INTERNAL_H
+#ifndef OSSL_CRYPTO_EC_H
+# define OSSL_CRYPTO_EC_H
 # include <openssl/opensslconf.h>
 
 # ifndef OPENSSL_NO_EC
-
+#  include <openssl/core.h>
 #  include <openssl/ec.h>
 
 /*-
@@ -49,5 +49,20 @@ int ecdh_KDF_X9_63(unsigned char *out, size_t outlen,
                    const unsigned char *sinfo, size_t sinfolen,
                    const EVP_MD *md);
 
+int ec_generate_key(OPENSSL_CTX *libctx, EC_KEY *eckey, int pairwise_test);
+int ec_key_public_check(const EC_KEY *eckey, BN_CTX *ctx);
+int ec_key_private_check(const EC_KEY *eckey);
+int ec_key_pairwise_check(const EC_KEY *eckey, BN_CTX *ctx);
+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