Update ECDSA and ECDH for OPENSSL_NO_ENGINE.

Reported by: Maxim Masiutin
Submitted by: Nils Larsch
This commit is contained in:
Geoff Thorpe
2004-10-21 00:06:14 +00:00
parent 5b0f1f7d13
commit 58ae65cd1a
7 changed files with 30 additions and 0 deletions

View File

@@ -55,7 +55,9 @@
#include <string.h>
#include "ecdsa.h"
#ifndef OPENSSL_NO_ENGINE
#include <openssl/engine.h>
#endif
#include <openssl/err.h>
#include <openssl/bn.h>
@@ -92,11 +94,13 @@ int ECDSA_set_method(EC_KEY *eckey, const ECDSA_METHOD *meth)
if (mtmp->finish)
mtmp->finish(eckey);
#endif
#ifndef OPENSSL_NO_ENGINE
if (ecdsa->engine)
{
ENGINE_finish(ecdsa->engine);
ecdsa->engine = NULL;
}
#endif
ecdsa->meth = meth;
#if 0
if (meth->init)
@@ -129,6 +133,7 @@ ECDSA_DATA *ECDSA_DATA_new_method(ENGINE *engine)
ret->meth = ECDSA_get_default_method();
ret->engine = engine;
#ifndef OPENSSL_NO_ENGINE
if (!ret->engine)
ret->engine = ENGINE_get_default_ECDSA();
if (ret->engine)
@@ -142,6 +147,7 @@ ECDSA_DATA *ECDSA_DATA_new_method(ENGINE *engine)
return NULL;
}
}
#endif
ret->flags = ret->meth->flags;
CRYPTO_new_ex_data(CRYPTO_EX_INDEX_ECDSA, ret, &ret->ex_data);
@@ -167,8 +173,10 @@ void ECDSA_DATA_free(ECDSA_DATA *r)
if (r->meth->finish)
r->meth->finish(r);
#endif
#ifndef OPENSSL_NO_ENGINE
if (r->engine)
ENGINE_finish(r->engine);
#endif
CRYPTO_free_ex_data(CRYPTO_EX_INDEX_ECDSA, r, &r->ex_data);

View File

@@ -54,7 +54,9 @@
*/
#include "ecdsa.h"
#ifndef OPENSSL_NO_ENGINE
#include <openssl/engine.h>
#endif
ECDSA_SIG * ECDSA_do_sign(const unsigned char *dgst, int dlen, EC_KEY *eckey)
{

View File

@@ -54,7 +54,9 @@
*/
#include "ecdsa.h"
#ifndef OPENSSL_NO_ENGINE
#include <openssl/engine.h>
#endif
/* returns
* 1: correct signature