Loading apps/prime.c +38 −8 Original line number Diff line number Diff line Loading @@ -62,6 +62,9 @@ int MAIN(int argc, char **argv) { int hex=0; int checks=20; int generate=0; int bits=0; int safe=0; BIGNUM *bn=NULL; BIO *bio_out; Loading @@ -77,6 +80,15 @@ int MAIN(int argc, char **argv) { if(!strcmp(*argv,"-hex")) hex=1; else if(!strcmp(*argv,"-generate")) generate=1; else if(!strcmp(*argv,"-bits")) if(--argc < 1) goto bad; else bits=atoi(*++argv); else if(!strcmp(*argv,"-safe")) safe=1; else if(!strcmp(*argv,"-checks")) if(--argc < 1) goto bad; Loading @@ -91,7 +103,7 @@ int MAIN(int argc, char **argv) ++argv; } if (argv[0] == NULL) if (argv[0] == NULL && !generate) { BIO_printf(bio_err,"No prime specified\n"); goto bad; Loading @@ -108,6 +120,23 @@ int MAIN(int argc, char **argv) #endif } if(generate) { char *s; if(!bits) { BIO_printf(bio_err,"Specifiy the number of bits.\n"); return 1; } bn=BN_new(); BN_generate_prime_ex(bn,bits,safe,NULL,NULL,NULL); s=hex ? BN_bn2hex(bn) : BN_bn2dec(bn); BIO_printf(bio_out,"%s\n",s); OPENSSL_free(s); } else { if(hex) BN_hex2bn(&bn,argv[0]); else Loading @@ -116,6 +145,7 @@ int MAIN(int argc, char **argv) BN_print(bio_out,bn); BIO_printf(bio_out," is %sprime\n", BN_is_prime_ex(bn,checks,NULL,NULL) ? "" : "not "); } BN_free(bn); BIO_free_all(bio_out); Loading Loading
apps/prime.c +38 −8 Original line number Diff line number Diff line Loading @@ -62,6 +62,9 @@ int MAIN(int argc, char **argv) { int hex=0; int checks=20; int generate=0; int bits=0; int safe=0; BIGNUM *bn=NULL; BIO *bio_out; Loading @@ -77,6 +80,15 @@ int MAIN(int argc, char **argv) { if(!strcmp(*argv,"-hex")) hex=1; else if(!strcmp(*argv,"-generate")) generate=1; else if(!strcmp(*argv,"-bits")) if(--argc < 1) goto bad; else bits=atoi(*++argv); else if(!strcmp(*argv,"-safe")) safe=1; else if(!strcmp(*argv,"-checks")) if(--argc < 1) goto bad; Loading @@ -91,7 +103,7 @@ int MAIN(int argc, char **argv) ++argv; } if (argv[0] == NULL) if (argv[0] == NULL && !generate) { BIO_printf(bio_err,"No prime specified\n"); goto bad; Loading @@ -108,6 +120,23 @@ int MAIN(int argc, char **argv) #endif } if(generate) { char *s; if(!bits) { BIO_printf(bio_err,"Specifiy the number of bits.\n"); return 1; } bn=BN_new(); BN_generate_prime_ex(bn,bits,safe,NULL,NULL,NULL); s=hex ? BN_bn2hex(bn) : BN_bn2dec(bn); BIO_printf(bio_out,"%s\n",s); OPENSSL_free(s); } else { if(hex) BN_hex2bn(&bn,argv[0]); else Loading @@ -116,6 +145,7 @@ int MAIN(int argc, char **argv) BN_print(bio_out,bn); BIO_printf(bio_out," is %sprime\n", BN_is_prime_ex(bn,checks,NULL,NULL) ? "" : "not "); } BN_free(bn); BIO_free_all(bio_out); Loading