summaryrefslogtreecommitdiff
path: root/src/lib/libssl/src/apps/genrsa.c
diff options
context:
space:
mode:
authordjm <>2009-01-09 12:14:09 +0000
committerdjm <>2009-01-09 12:14:09 +0000
commit76dd4d55fdccad54d20608e7caf577b9d67b216f (patch)
tree9b645adc5cf0aa0820e1501ee5c6f2c41c454e7c /src/lib/libssl/src/apps/genrsa.c
parentf1625f274acf5dcd5601f6cb5e29e233b2a441a3 (diff)
downloadopenbsd-76dd4d55fdccad54d20608e7caf577b9d67b216f.tar.gz
openbsd-76dd4d55fdccad54d20608e7caf577b9d67b216f.tar.bz2
openbsd-76dd4d55fdccad54d20608e7caf577b9d67b216f.zip
import openssl-0.9.8j
Diffstat (limited to 'src/lib/libssl/src/apps/genrsa.c')
-rw-r--r--src/lib/libssl/src/apps/genrsa.c15
1 files changed, 14 insertions, 1 deletions
diff --git a/src/lib/libssl/src/apps/genrsa.c b/src/lib/libssl/src/apps/genrsa.c
index 1599bb7a69..fdc0d4a07d 100644
--- a/src/lib/libssl/src/apps/genrsa.c
+++ b/src/lib/libssl/src/apps/genrsa.c
@@ -95,6 +95,7 @@ int MAIN(int argc, char **argv)
95 int ret=1; 95 int ret=1;
96 int i,num=DEFBITS; 96 int i,num=DEFBITS;
97 long l; 97 long l;
98 int use_x931 = 0;
98 const EVP_CIPHER *enc=NULL; 99 const EVP_CIPHER *enc=NULL;
99 unsigned long f4=RSA_F4; 100 unsigned long f4=RSA_F4;
100 char *outfile=NULL; 101 char *outfile=NULL;
@@ -138,6 +139,8 @@ int MAIN(int argc, char **argv)
138 f4=3; 139 f4=3;
139 else if (strcmp(*argv,"-F4") == 0 || strcmp(*argv,"-f4") == 0) 140 else if (strcmp(*argv,"-F4") == 0 || strcmp(*argv,"-f4") == 0)
140 f4=RSA_F4; 141 f4=RSA_F4;
142 else if (strcmp(*argv,"-x931") == 0)
143 use_x931 = 1;
141#ifndef OPENSSL_NO_ENGINE 144#ifndef OPENSSL_NO_ENGINE
142 else if (strcmp(*argv,"-engine") == 0) 145 else if (strcmp(*argv,"-engine") == 0)
143 { 146 {
@@ -266,7 +269,17 @@ bad:
266 BIO_printf(bio_err,"Generating RSA private key, %d bit long modulus\n", 269 BIO_printf(bio_err,"Generating RSA private key, %d bit long modulus\n",
267 num); 270 num);
268 271
269 if(!BN_set_word(bn, f4) || !RSA_generate_key_ex(rsa, num, bn, &cb)) 272 if (use_x931)
273 {
274 BIGNUM *pubexp;
275 pubexp = BN_new();
276 if (!BN_set_word(pubexp, f4))
277 goto err;
278 if (!RSA_X931_generate_key_ex(rsa, num, pubexp, &cb))
279 goto err;
280 BN_free(pubexp);
281 }
282 else if(!BN_set_word(bn, f4) || !RSA_generate_key_ex(rsa, num, bn, &cb))
270 goto err; 283 goto err;
271 284
272 app_RAND_write_file(NULL, bio_err); 285 app_RAND_write_file(NULL, bio_err);