summaryrefslogtreecommitdiff
path: root/crypto/evp/evp_locl.h
diff options
context:
space:
mode:
authorDr. Stephen Henson <steve@openssl.org>2006-04-11 13:28:52 +0000
committerDr. Stephen Henson <steve@openssl.org>2006-04-11 13:28:52 +0000
commitf5cda4cbb17c908ceef33f4f52d94e8e04b7c1ab (patch)
tree851abcd3b7178040056cbb1ce397bbc526774041 /crypto/evp/evp_locl.h
parentf9a6348a537290f65fd76d945419a4c9bafff012 (diff)
downloadopenssl-new-f5cda4cbb17c908ceef33f4f52d94e8e04b7c1ab.tar.gz
Initial keygen support.
Diffstat (limited to 'crypto/evp/evp_locl.h')
-rw-r--r--crypto/evp/evp_locl.h14
1 files changed, 11 insertions, 3 deletions
diff --git a/crypto/evp/evp_locl.h b/crypto/evp/evp_locl.h
index 983dae7845..3edfd9949f 100644
--- a/crypto/evp/evp_locl.h
+++ b/crypto/evp/evp_locl.h
@@ -235,7 +235,6 @@ const EVP_CIPHER *EVP_##cname##_ecb(void) { return &cname##_ecb; }
EVP_CIPHER_get_asn1_iv, \
NULL)
-
struct evp_pkey_ctx_st
{
/* Method associated with this operation */
@@ -246,6 +245,13 @@ struct evp_pkey_ctx_st
int operation;
/* Algorithm specific data */
void *data;
+ /* Application specific data */
+ void *app_data;
+ /* Keygen callback */
+ EVP_PKEY_gen_cb *pkey_gencb;
+ /* implementation specific keygen data */
+ int *keygen_info;
+ int keygen_info_count;
} /* EVP_PKEY_CTX */;
struct evp_pkey_method_st
@@ -257,10 +263,10 @@ struct evp_pkey_method_st
void (*cleanup)(EVP_PKEY_CTX *ctx);
int (*paramgen_init)(EVP_PKEY_CTX *ctx);
- int (*paramgen)(EVP_PKEY_CTX *ctx);
+ int (*paramgen)(EVP_PKEY_CTX *ctx, EVP_PKEY *pkey);
int (*keygen_init)(EVP_PKEY_CTX *ctx);
- int (*keygen)(EVP_PKEY_CTX *ctx);
+ int (*keygen)(EVP_PKEY_CTX *ctx, EVP_PKEY *pkey);
int (*sign_init)(EVP_PKEY_CTX *ctx);
int (*sign)(EVP_PKEY_CTX *ctx, unsigned char *sig, int *siglen,
@@ -296,3 +302,5 @@ struct evp_pkey_method_st
} /* EVP_PKEY_METHOD */;
+
+void evp_pkey_set_cb_translate(BN_GENCB *cb, EVP_PKEY_CTX *ctx);