diff options
author | Dr. Stephen Henson <steve@openssl.org> | 2006-05-31 17:34:14 +0000 |
---|---|---|
committer | Dr. Stephen Henson <steve@openssl.org> | 2006-05-31 17:34:14 +0000 |
commit | b28dea4e1026534afc7783e20f92089a5b4e744a (patch) | |
tree | 6e04f5a954e1a092d35a44b7225be49cb4c33ae0 /crypto | |
parent | 21f0db692dcde2874caaacb0273f0d273a950e03 (diff) |
New pkey functions for keygen callbacks and retrieving operation type.
Diffstat (limited to 'crypto')
-rw-r--r-- | crypto/evp/evp.h | 5 | ||||
-rw-r--r-- | crypto/evp/pmeth_gn.c | 5 | ||||
-rw-r--r-- | crypto/evp/pmeth_lib.c | 11 |
3 files changed, 21 insertions, 0 deletions
diff --git a/crypto/evp/evp.h b/crypto/evp/evp.h index 4178423910..064e2772e7 100644 --- a/crypto/evp/evp.h +++ b/crypto/evp/evp.h @@ -969,6 +969,9 @@ int EVP_PKEY_CTX_ctrl(EVP_PKEY_CTX *ctx, int keytype, int optype, int EVP_PKEY_CTX_ctrl_str(EVP_PKEY_CTX *ctx, const char *type, const char *value); +int EVP_PKEY_CTX_get_operation(EVP_PKEY_CTX *ctx); +void EVP_PKEY_CTX_set0_keygen_info(EVP_PKEY_CTX *ctx, int *dat, int datlen); + void EVP_PKEY_CTX_set_data(EVP_PKEY_CTX *ctx, void *data); void *EVP_PKEY_CTX_get_data(EVP_PKEY_CTX *ctx); EVP_PKEY *EVP_PKEY_CTX_get0_pkey(EVP_PKEY_CTX *ctx); @@ -1009,6 +1012,8 @@ int EVP_PKEY_keygen_init(EVP_PKEY_CTX *ctx); int EVP_PKEY_keygen(EVP_PKEY_CTX *ctx, EVP_PKEY **ppkey); void EVP_PKEY_CTX_set_cb(EVP_PKEY_CTX *ctx, EVP_PKEY_gen_cb *cb); +EVP_PKEY_gen_cb *EVP_PKEY_CTX_get_cb(EVP_PKEY_CTX *ctx); + int EVP_PKEY_CTX_get_keygen_info(EVP_PKEY_CTX *ctx, int idx); void EVP_PKEY_meth_set_init(EVP_PKEY_METHOD *pmeth, diff --git a/crypto/evp/pmeth_gn.c b/crypto/evp/pmeth_gn.c index da7d800f53..eb81d52134 100644 --- a/crypto/evp/pmeth_gn.c +++ b/crypto/evp/pmeth_gn.c @@ -166,6 +166,11 @@ void EVP_PKEY_CTX_set_cb(EVP_PKEY_CTX *ctx, EVP_PKEY_gen_cb *cb) ctx->pkey_gencb = cb; } +EVP_PKEY_gen_cb *EVP_PKEY_CTX_get_cb(EVP_PKEY_CTX *ctx) + { + return ctx->pkey_gencb; + } + /* "translation callback" to call EVP_PKEY_CTX callbacks using BN_GENCB * style callbacks. */ diff --git a/crypto/evp/pmeth_lib.c b/crypto/evp/pmeth_lib.c index 069cdaf3ff..fb07c00d89 100644 --- a/crypto/evp/pmeth_lib.c +++ b/crypto/evp/pmeth_lib.c @@ -310,6 +310,17 @@ int EVP_PKEY_CTX_ctrl_str(EVP_PKEY_CTX *ctx, return ctx->pmeth->ctrl_str(ctx, name, value); } +int EVP_PKEY_CTX_get_operation(EVP_PKEY_CTX *ctx) + { + return ctx->operation; + } + +void EVP_PKEY_CTX_set0_keygen_info(EVP_PKEY_CTX *ctx, int *dat, int datlen) + { + ctx->keygen_info = dat; + ctx->keygen_info_count = datlen; + } + void EVP_PKEY_CTX_set_data(EVP_PKEY_CTX *ctx, void *data) { ctx->data = data; |