Update ECDSA and ECDH for OPENSSL_NO_ENGINE.
Reported by: Maxim Masiutin Submitted by: Nils Larsch
This commit is contained in:
parent
5b0f1f7d13
commit
58ae65cd1a
7 changed files with 30 additions and 0 deletions
|
@ -84,7 +84,9 @@ int MAIN(int, char **);
|
|||
|
||||
int MAIN(int argc, char **argv)
|
||||
{
|
||||
#ifndef OPENSSL_NO_ENGINE
|
||||
ENGINE *e = NULL;
|
||||
#endif
|
||||
int ret = 1;
|
||||
EC_KEY *eckey = NULL;
|
||||
int i, badops = 0;
|
||||
|
@ -249,7 +251,9 @@ bad:
|
|||
|
||||
ERR_load_crypto_strings();
|
||||
|
||||
#ifndef OPENSSL_NO_ENGINE
|
||||
e = setup_engine(bio_err, engine, 0);
|
||||
#endif
|
||||
|
||||
if(!app_passwd(bio_err, passargin, passargout, &passin, &passout))
|
||||
{
|
||||
|
|
|
@ -127,7 +127,9 @@ int MAIN(int argc, char **argv)
|
|||
char *infile = NULL, *outfile = NULL, *prog;
|
||||
BIO *in = NULL, *out = NULL;
|
||||
int informat, outformat, noout = 0, C = 0, ret = 1;
|
||||
#ifndef OPENSSL_NO_ENGINE
|
||||
ENGINE *e = NULL;
|
||||
#endif
|
||||
char *engine = NULL;
|
||||
|
||||
BIGNUM *ec_p = NULL, *ec_a = NULL, *ec_b = NULL,
|
||||
|
@ -335,7 +337,9 @@ bad:
|
|||
}
|
||||
}
|
||||
|
||||
#ifndef OPENSSL_NO_ENGINE
|
||||
e = setup_engine(bio_err, engine, 0);
|
||||
#endif
|
||||
|
||||
if (list_curves)
|
||||
{
|
||||
|
|
|
@ -68,7 +68,9 @@
|
|||
*/
|
||||
|
||||
#include "ecdh.h"
|
||||
#ifndef OPENSSL_NO_ENGINE
|
||||
#include <openssl/engine.h>
|
||||
#endif
|
||||
|
||||
int ECDH_compute_key(void *out, size_t outlen, const EC_POINT *pub_key, EC_KEY *eckey,
|
||||
void *(*KDF)(void *in, size_t inlen, void *out, size_t outlen))
|
||||
|
|
|
@ -69,7 +69,9 @@
|
|||
|
||||
#include "ecdh.h"
|
||||
#include <string.h>
|
||||
#ifndef OPENSSL_NO_ENGINE
|
||||
#include <openssl/engine.h>
|
||||
#endif
|
||||
#include <openssl/err.h>
|
||||
|
||||
const char *ECDH_version="ECDH" OPENSSL_VERSION_PTEXT;
|
||||
|
@ -105,11 +107,13 @@ int ECDH_set_method(EC_KEY *eckey, const ECDH_METHOD *meth)
|
|||
if (mtmp->finish)
|
||||
mtmp->finish(eckey);
|
||||
#endif
|
||||
#ifndef OPENSSL_NO_ENGINE
|
||||
if (ecdh->engine)
|
||||
{
|
||||
ENGINE_finish(ecdh->engine);
|
||||
ecdh->engine = NULL;
|
||||
}
|
||||
#endif
|
||||
ecdh->meth = meth;
|
||||
#if 0
|
||||
if (meth->init)
|
||||
|
@ -139,6 +143,7 @@ ECDH_DATA *ECDH_DATA_new_method(ENGINE *engine)
|
|||
|
||||
ret->meth = ECDH_get_default_method();
|
||||
ret->engine = engine;
|
||||
#ifndef OPENSSL_NO_ENGINE
|
||||
if (!ret->engine)
|
||||
ret->engine = ENGINE_get_default_ECDH();
|
||||
if (ret->engine)
|
||||
|
@ -152,6 +157,7 @@ ECDH_DATA *ECDH_DATA_new_method(ENGINE *engine)
|
|||
return NULL;
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
ret->flags = ret->meth->flags;
|
||||
CRYPTO_new_ex_data(CRYPTO_EX_INDEX_ECDH, ret, &ret->ex_data);
|
||||
|
@ -172,8 +178,10 @@ void ECDH_DATA_free(ECDH_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_ECDH, r, &r->ex_data);
|
||||
|
||||
|
|
|
@ -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);
|
||||
|
||||
|
|
|
@ -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)
|
||||
{
|
||||
|
|
|
@ -54,7 +54,9 @@
|
|||
*/
|
||||
|
||||
#include "ecdsa.h"
|
||||
#ifndef OPENSSL_NO_ENGINE
|
||||
#include <openssl/engine.h>
|
||||
#endif
|
||||
|
||||
/* returns
|
||||
* 1: correct signature
|
||||
|
|
Loading…
Reference in a new issue