-/* crypto/rsa/rsa_gen.c */
/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
* All rights reserved.
*
#include <time.h>
#include <openssl/err.h>
#include <openssl/bn.h>
-#include <openssl/rsa.h>
+#include "rsa_locl.h"
/* X9.31 RSA key derivation and generation */
goto err;
ctx = BN_CTX_new();
- if (!ctx)
+ if (ctx == NULL)
goto err;
BN_CTX_start(ctx);
* test programs to output selective parameters.
*/
- if (Xp && !rsa->p) {
+ if (Xp && rsa->p == NULL) {
rsa->p = BN_new();
- if (!rsa->p)
+ if (rsa->p == NULL)
goto err;
if (!BN_X931_derive_prime_ex(rsa->p, p1, p2,
goto err;
}
- if (Xq && !rsa->q) {
+ if (Xq && rsa->q == NULL) {
rsa->q = BN_new();
- if (!rsa->q)
+ if (rsa->q == NULL)
goto err;
if (!BN_X931_derive_prime_ex(rsa->q, q1, q2,
Xq, Xq1, Xq2, e, ctx, cb))
goto err;
}
- if (!rsa->p || !rsa->q) {
+ if (rsa->p == NULL || rsa->q == NULL) {
BN_CTX_end(ctx);
BN_CTX_free(ctx);
return 2;
goto err; /* LCM((p-1)(q-1)) */
ctx2 = BN_CTX_new();
- if (!ctx2)
+ if (ctx2 == NULL)
goto err;
rsa->d = BN_mod_inverse(NULL, rsa->e, r0, ctx2); /* d */
ret = 1;
err:
- if (ctx) {
+ if (ctx)
BN_CTX_end(ctx);
- BN_CTX_free(ctx);
- }
- if (ctx2)
- BN_CTX_free(ctx2);
+ BN_CTX_free(ctx);
+ BN_CTX_free(ctx2);
return ret;
BN_CTX *ctx = NULL;
ctx = BN_CTX_new();
- if (!ctx)
+ if (ctx == NULL)
goto error;
BN_CTX_start(ctx);
rsa->p = BN_new();
rsa->q = BN_new();
- if (!rsa->p || !rsa->q)
+ if (rsa->p == NULL || rsa->q == NULL)
goto error;
/* Generate two primes from Xp, Xq */
ok = 1;
error:
- if (ctx) {
+ if (ctx)
BN_CTX_end(ctx);
- BN_CTX_free(ctx);
- }
+ BN_CTX_free(ctx);
if (ok)
return 1;