|
@@ -1363,6 +1363,98 @@ void EVP_PKEY_meth_set_ctrl(EVP_PKEY_METHOD *pmeth,
|
|
|
const char *type,
|
|
|
const char *value));
|
|
|
|
|
|
+void EVP_PKEY_meth_get_init(EVP_PKEY_METHOD *pmeth,
|
|
|
+ int (**pinit) (EVP_PKEY_CTX *ctx));
|
|
|
+
|
|
|
+void EVP_PKEY_meth_get_copy(EVP_PKEY_METHOD *pmeth,
|
|
|
+ int (**pcopy) (EVP_PKEY_CTX *dst,
|
|
|
+ EVP_PKEY_CTX *src));
|
|
|
+
|
|
|
+void EVP_PKEY_meth_get_cleanup(EVP_PKEY_METHOD *pmeth,
|
|
|
+ void (**pcleanup) (EVP_PKEY_CTX *ctx));
|
|
|
+
|
|
|
+void EVP_PKEY_meth_get_paramgen(EVP_PKEY_METHOD *pmeth,
|
|
|
+ int (**pparamgen_init) (EVP_PKEY_CTX *ctx),
|
|
|
+ int (**pparamgen) (EVP_PKEY_CTX *ctx,
|
|
|
+ EVP_PKEY *pkey));
|
|
|
+
|
|
|
+void EVP_PKEY_meth_get_keygen(EVP_PKEY_METHOD *pmeth,
|
|
|
+ int (**pkeygen_init) (EVP_PKEY_CTX *ctx),
|
|
|
+ int (**pkeygen) (EVP_PKEY_CTX *ctx,
|
|
|
+ EVP_PKEY *pkey));
|
|
|
+
|
|
|
+void EVP_PKEY_meth_get_sign(EVP_PKEY_METHOD *pmeth,
|
|
|
+ int (**psign_init) (EVP_PKEY_CTX *ctx),
|
|
|
+ int (**psign) (EVP_PKEY_CTX *ctx,
|
|
|
+ unsigned char *sig, size_t *siglen,
|
|
|
+ const unsigned char *tbs,
|
|
|
+ size_t tbslen));
|
|
|
+
|
|
|
+void EVP_PKEY_meth_get_verify(EVP_PKEY_METHOD *pmeth,
|
|
|
+ int (**pverify_init) (EVP_PKEY_CTX *ctx),
|
|
|
+ int (**pverify) (EVP_PKEY_CTX *ctx,
|
|
|
+ const unsigned char *sig,
|
|
|
+ size_t siglen,
|
|
|
+ const unsigned char *tbs,
|
|
|
+ size_t tbslen));
|
|
|
+
|
|
|
+void EVP_PKEY_meth_get_verify_recover(EVP_PKEY_METHOD *pmeth,
|
|
|
+ int (**pverify_recover_init) (EVP_PKEY_CTX
|
|
|
+ *ctx),
|
|
|
+ int (**pverify_recover) (EVP_PKEY_CTX
|
|
|
+ *ctx,
|
|
|
+ unsigned char
|
|
|
+ *sig,
|
|
|
+ size_t *siglen,
|
|
|
+ const unsigned
|
|
|
+ char *tbs,
|
|
|
+ size_t tbslen));
|
|
|
+
|
|
|
+void EVP_PKEY_meth_get_signctx(EVP_PKEY_METHOD *pmeth,
|
|
|
+ int (**psignctx_init) (EVP_PKEY_CTX *ctx,
|
|
|
+ EVP_MD_CTX *mctx),
|
|
|
+ int (**psignctx) (EVP_PKEY_CTX *ctx,
|
|
|
+ unsigned char *sig,
|
|
|
+ size_t *siglen,
|
|
|
+ EVP_MD_CTX *mctx));
|
|
|
+
|
|
|
+void EVP_PKEY_meth_get_verifyctx(EVP_PKEY_METHOD *pmeth,
|
|
|
+ int (**pverifyctx_init) (EVP_PKEY_CTX *ctx,
|
|
|
+ EVP_MD_CTX *mctx),
|
|
|
+ int (**pverifyctx) (EVP_PKEY_CTX *ctx,
|
|
|
+ const unsigned char *sig,
|
|
|
+ int siglen,
|
|
|
+ EVP_MD_CTX *mctx));
|
|
|
+
|
|
|
+void EVP_PKEY_meth_get_encrypt(EVP_PKEY_METHOD *pmeth,
|
|
|
+ int (**pencrypt_init) (EVP_PKEY_CTX *ctx),
|
|
|
+ int (**pencryptfn) (EVP_PKEY_CTX *ctx,
|
|
|
+ unsigned char *out,
|
|
|
+ size_t *outlen,
|
|
|
+ const unsigned char *in,
|
|
|
+ size_t inlen));
|
|
|
+
|
|
|
+void EVP_PKEY_meth_get_decrypt(EVP_PKEY_METHOD *pmeth,
|
|
|
+ int (**pdecrypt_init) (EVP_PKEY_CTX *ctx),
|
|
|
+ int (**pdecrypt) (EVP_PKEY_CTX *ctx,
|
|
|
+ unsigned char *out,
|
|
|
+ size_t *outlen,
|
|
|
+ const unsigned char *in,
|
|
|
+ size_t inlen));
|
|
|
+
|
|
|
+void EVP_PKEY_meth_get_derive(EVP_PKEY_METHOD *pmeth,
|
|
|
+ int (**pderive_init) (EVP_PKEY_CTX *ctx),
|
|
|
+ int (**pderive) (EVP_PKEY_CTX *ctx,
|
|
|
+ unsigned char *key,
|
|
|
+ size_t *keylen));
|
|
|
+
|
|
|
+void EVP_PKEY_meth_get_ctrl(EVP_PKEY_METHOD *pmeth,
|
|
|
+ int (**pctrl) (EVP_PKEY_CTX *ctx, int type, int p1,
|
|
|
+ void *p2),
|
|
|
+ int (**pctrl_str) (EVP_PKEY_CTX *ctx,
|
|
|
+ const char *type,
|
|
|
+ const char *value));
|
|
|
+
|
|
|
void EVP_add_alg_module(void);
|
|
|
|
|
|
/* BEGIN ERROR CODES */
|