aboutsummaryrefslogtreecommitdiffstats
path: root/crypto/rsa
diff options
context:
space:
mode:
authorGeoff Thorpe <geoff@openssl.org>2004-04-27 13:24:51 +0000
committerGeoff Thorpe <geoff@openssl.org>2004-04-27 13:24:51 +0000
commit081991ac0171a9e0a98b1857668202f77d095f95 (patch)
tree6c28b3c6cf00b7031939aa400300018163ce436c /crypto/rsa
parent8a85c341feb8d7fa7aa41562bef345195a90bba5 (diff)
downloadopenssl-081991ac0171a9e0a98b1857668202f77d095f95.tar.gz
With the new dynamic BN_CTX implementation, there should be no need for
additional contexts.
Diffstat (limited to 'crypto/rsa')
-rw-r--r--crypto/rsa/rsa_gen.c9
1 files changed, 3 insertions, 6 deletions
diff --git a/crypto/rsa/rsa_gen.c b/crypto/rsa/rsa_gen.c
index 6f4b8db2c1..839a3eeb8f 100644
--- a/crypto/rsa/rsa_gen.c
+++ b/crypto/rsa/rsa_gen.c
@@ -86,12 +86,10 @@ static int rsa_builtin_keygen(RSA *rsa, int bits, BIGNUM *e_value, BN_GENCB *cb)
{
BIGNUM *r0=NULL,*r1=NULL,*r2=NULL,*r3=NULL,*tmp;
int bitsp,bitsq,ok= -1,n=0;
- BN_CTX *ctx=NULL,*ctx2=NULL;
+ BN_CTX *ctx=NULL;
ctx=BN_CTX_new();
if (ctx == NULL) goto err;
- ctx2=BN_CTX_new();
- if (ctx2 == NULL) goto err;
BN_CTX_start(ctx);
r0 = BN_CTX_get(ctx);
r1 = BN_CTX_get(ctx);
@@ -183,7 +181,7 @@ static int rsa_builtin_keygen(RSA *rsa, int bits, BIGNUM *e_value, BN_GENCB *cb)
goto err;
}
*/
- if (!BN_mod_inverse(rsa->d,rsa->e,r0,ctx2)) goto err; /* d */
+ if (!BN_mod_inverse(rsa->d,rsa->e,r0,ctx)) goto err; /* d */
/* calculate d mod (p-1) */
if (!BN_mod(rsa->dmp1,rsa->d,r1,ctx)) goto err;
@@ -192,7 +190,7 @@ static int rsa_builtin_keygen(RSA *rsa, int bits, BIGNUM *e_value, BN_GENCB *cb)
if (!BN_mod(rsa->dmq1,rsa->d,r2,ctx)) goto err;
/* calculate inverse of q mod p */
- if (!BN_mod_inverse(rsa->iqmp,rsa->q,rsa->p,ctx2)) goto err;
+ if (!BN_mod_inverse(rsa->iqmp,rsa->q,rsa->p,ctx)) goto err;
ok=1;
err:
@@ -203,7 +201,6 @@ err:
}
BN_CTX_end(ctx);
BN_CTX_free(ctx);
- BN_CTX_free(ctx2);
return ok;
}