From 14a7cfb32a0347a4bc620ae1b552b21c4c1e270b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bodo=20M=C3=B6ller?= Date: Wed, 7 Aug 2002 10:49:54 +0000 Subject: use a generic EC_KEY structure (EC keys are not ECDSA specific) Submitted by: Nils Larsch --- crypto/ecdsa/ecs_sign.c | 21 ++++++++++++++------- 1 file changed, 14 insertions(+), 7 deletions(-) (limited to 'crypto/ecdsa/ecs_sign.c') diff --git a/crypto/ecdsa/ecs_sign.c b/crypto/ecdsa/ecs_sign.c index c1d3e3bf3c..215da1211a 100644 --- a/crypto/ecdsa/ecs_sign.c +++ b/crypto/ecdsa/ecs_sign.c @@ -56,16 +56,19 @@ #include "ecdsa.h" #include -ECDSA_SIG * ECDSA_do_sign(const unsigned char *dgst, int dlen, ECDSA *ecdsa) +ECDSA_SIG * ECDSA_do_sign(const unsigned char *dgst, int dlen, EC_KEY *eckey) { - return ecdsa->meth->ecdsa_do_sign(dgst, dlen, ecdsa); + ECDSA_DATA *ecdsa = ecdsa_check(eckey); + if (ecdsa == NULL) + return NULL; + return ecdsa->meth->ecdsa_do_sign(dgst, dlen, eckey); } -int ECDSA_sign(int type, const unsigned char *dgst, int dlen, unsigned char *sig, - unsigned int *siglen, ECDSA *ecdsa) +int ECDSA_sign(int type, const unsigned char *dgst, int dlen, unsigned char + *sig, unsigned int *siglen, EC_KEY *eckey) { ECDSA_SIG *s; - s=ECDSA_do_sign(dgst,dlen,ecdsa); + s=ECDSA_do_sign(dgst,dlen,eckey); if (s == NULL) { *siglen=0; @@ -76,7 +79,11 @@ int ECDSA_sign(int type, const unsigned char *dgst, int dlen, unsigned char *sig return(1); } -int ECDSA_sign_setup(ECDSA *ecdsa, BN_CTX *ctx_in, BIGNUM **kinvp, BIGNUM **rp) +int ECDSA_sign_setup(EC_KEY *eckey, BN_CTX *ctx_in, BIGNUM **kinvp, + BIGNUM **rp) { - return ecdsa->meth->ecdsa_sign_setup(ecdsa, ctx_in, kinvp, rp); + ECDSA_DATA *ecdsa = ecdsa_check(eckey); + if (ecdsa == NULL) + return 0; + return ecdsa->meth->ecdsa_sign_setup(eckey, ctx_in, kinvp, rp); } -- cgit v1.2.3