summaryrefslogtreecommitdiffstats
path: root/crypto/evp/pmeth_lib.c
diff options
context:
space:
mode:
authorDr. Stephen Henson <steve@openssl.org>2006-04-12 10:20:47 +0000
committerDr. Stephen Henson <steve@openssl.org>2006-04-12 10:20:47 +0000
commitc927df3fa19a2afda7bbacefbb366f7382b5269b (patch)
tree4acc885a629106c24fae58beba5ec9db078acc5b /crypto/evp/pmeth_lib.c
parent4700aea951dcba9b1e3b724bf4d8f0c712578892 (diff)
Initial DSA EVP_PKEY_METHOD. Fixup some error codes.
Diffstat (limited to 'crypto/evp/pmeth_lib.c')
-rw-r--r--crypto/evp/pmeth_lib.c13
1 files changed, 8 insertions, 5 deletions
diff --git a/crypto/evp/pmeth_lib.c b/crypto/evp/pmeth_lib.c
index 3c8d0a6e4f..dc4f96d735 100644
--- a/crypto/evp/pmeth_lib.c
+++ b/crypto/evp/pmeth_lib.c
@@ -66,11 +66,12 @@
STACK *app_pkey_methods = NULL;
-extern EVP_PKEY_METHOD rsa_pkey_meth;
+extern EVP_PKEY_METHOD rsa_pkey_meth, dsa_pkey_meth;
static const EVP_PKEY_METHOD *standard_methods[] =
{
- &rsa_pkey_meth
+ &rsa_pkey_meth,
+ &dsa_pkey_meth
};
static int pmeth_cmp(const EVP_PKEY_METHOD * const *a,
@@ -189,9 +190,10 @@ 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 *name, const char *value)
{
- if (!ctx || !ctx->pmeth || !ctx->pmeth->ctrl)
+ if (!ctx || !ctx->pmeth || !ctx->pmeth->ctrl_str)
{
- EVPerr(EVP_F_EVP_PKEY_CTX_CTRL, EVP_R_COMMAND_NOT_SUPPORTED);
+ EVPerr(EVP_F_EVP_PKEY_CTX_CTRL_STR,
+ EVP_R_COMMAND_NOT_SUPPORTED);
return -2;
}
if (!strcmp(name, "digest"))
@@ -199,7 +201,8 @@ int EVP_PKEY_CTX_ctrl_str(EVP_PKEY_CTX *ctx,
const EVP_MD *md;
if (!value || !(md = EVP_get_digestbyname(value)))
{
- EVPerr(EVP_F_EVP_PKEY_CTX_CTRL, EVP_R_INVALID_DIGEST);
+ EVPerr(EVP_F_EVP_PKEY_CTX_CTRL_STR,
+ EVP_R_INVALID_DIGEST);
return 0;
}
return EVP_PKEY_CTX_set_signature_md(ctx, md);