From 924875e53bda2ea5057070c9365ee5c0b3f0d6d5 Mon Sep 17 00:00:00 2001 From: Bodo Möller Date: Fri, 27 Jul 2001 22:34:25 +0000 Subject: Undo DH_generate_key() change: s3_srvr.c was using it correctly --- crypto/dh/dh_key.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'crypto/dh/dh_key.c') diff --git a/crypto/dh/dh_key.c b/crypto/dh/dh_key.c index df0300402e..4a2b75a992 100644 --- a/crypto/dh/dh_key.c +++ b/crypto/dh/dh_key.c @@ -101,6 +101,7 @@ const DH_METHOD *DH_OpenSSL(void) static int generate_key(DH *dh) { int ok=0; + int generate_new_key=0; unsigned l; BN_CTX *ctx; BN_MONT_CTX *mont; @@ -113,6 +114,7 @@ static int generate_key(DH *dh) { priv_key=BN_new(); if (priv_key == NULL) goto err; + generate_new_key=1; } else priv_key=dh->priv_key; @@ -135,7 +137,10 @@ static int generate_key(DH *dh) l = dh->length ? dh->length : BN_num_bits(dh->p)-1; /* secret exponent length */ - if (!BN_rand(priv_key, l, 0, 0)) goto err; + if (generate_new_key) + { + if (!BN_rand(priv_key, l, 0, 0)) goto err; + } if (!ENGINE_get_DH(dh->engine)->bn_mod_exp(dh, pub_key, dh->g, priv_key,dh->p,ctx,mont)) goto err; -- cgit v1.2.3