summaryrefslogtreecommitdiffstats
path: root/crypto/evp/evp_locl.h
diff options
context:
space:
mode:
authorDr. Stephen Henson <steve@openssl.org>2006-04-13 12:56:41 +0000
committerDr. Stephen Henson <steve@openssl.org>2006-04-13 12:56:41 +0000
commitd87e615209f63035bee85ad17b8ec01fc425db6e (patch)
tree5e731345bcb88e3094e68f198b4d196b24f14eef /crypto/evp/evp_locl.h
parent92511cff4831eb29023b85f033e00055a038b3c2 (diff)
Add key derivation support.
Diffstat (limited to 'crypto/evp/evp_locl.h')
-rw-r--r--crypto/evp/evp_locl.h5
1 files changed, 5 insertions, 0 deletions
diff --git a/crypto/evp/evp_locl.h b/crypto/evp/evp_locl.h
index 3edfd9949f..fb1ebf4c80 100644
--- a/crypto/evp/evp_locl.h
+++ b/crypto/evp/evp_locl.h
@@ -241,6 +241,8 @@ struct evp_pkey_ctx_st
const EVP_PKEY_METHOD *pmeth;
/* Key: may be NULL */
EVP_PKEY *pkey;
+ /* Peer key for key agreement, may be NULL */
+ EVP_PKEY *peerkey;
/* Actual operation */
int operation;
/* Algorithm specific data */
@@ -297,6 +299,9 @@ struct evp_pkey_method_st
int (*decrypt)(EVP_PKEY_CTX *ctx, unsigned char *out, int *outlen,
const unsigned char *in, int inlen);
+ int (*derive_init)(EVP_PKEY_CTX *ctx);
+ int (*derive)(EVP_PKEY_CTX *ctx, unsigned char *key, int *keylen);
+
int (*ctrl)(EVP_PKEY_CTX *ctx, int type, int p1, void *p2);
int (*ctrl_str)(EVP_PKEY_CTX *ctx, const char *type, const char *value);