diff options
author | Dr. Stephen Henson <steve@openssl.org> | 2000-02-17 00:41:43 +0000 |
---|---|---|
committer | Dr. Stephen Henson <steve@openssl.org> | 2000-02-17 00:41:43 +0000 |
commit | cd3c54e50f0f0b3839bb70fabbe222e389732146 (patch) | |
tree | 6eb97d1ab335c083cc94661d8ed565b70207d0b7 /apps | |
parent | a3fe382e2d2d794c598921cd39117581a2a8941b (diff) | |
download | openssl-cd3c54e50f0f0b3839bb70fabbe222e389732146.tar.gz |
Add -pass argument to 'enc'.
Fix to make Win32 compile work again.
Diffstat (limited to 'apps')
-rw-r--r-- | apps/enc.c | 19 |
1 files changed, 17 insertions, 2 deletions
diff --git a/apps/enc.c b/apps/enc.c index 387cfe2f19..6531c58c54 100644 --- a/apps/enc.c +++ b/apps/enc.c @@ -92,7 +92,7 @@ int MAIN(int argc, char **argv) int ret=1,inl; unsigned char key[24],iv[MD5_DIGEST_LENGTH]; unsigned char salt[PKCS5_SALT_LEN]; - char *str=NULL; + char *str=NULL, *passarg = NULL, *pass = NULL; char *hkey=NULL,*hiv=NULL,*hsalt = NULL; int enc=1,printkey=0,i,base64=0; int debug=0,olb64=0,nosalt=0; @@ -136,6 +136,11 @@ int MAIN(int argc, char **argv) if (--argc < 1) goto bad; outf= *(++argv); } + else if (strcmp(*argv,"-pass") == 0) + { + if (--argc < 1) goto bad; + passarg= *(++argv); + } else if (strcmp(*argv,"-d") == 0) enc=0; else if (strcmp(*argv,"-p") == 0) @@ -226,7 +231,8 @@ int MAIN(int argc, char **argv) bad: BIO_printf(bio_err,"options are\n"); BIO_printf(bio_err,"%-14s input file\n","-in <file>"); - BIO_printf(bio_err,"%-14s output fileencrypt\n","-out <file>"); + BIO_printf(bio_err,"%-14s output file\n","-out <file>"); + BIO_printf(bio_err,"%-14s pass phrase source\n","-pass <arg>"); BIO_printf(bio_err,"%-14s encrypt\n","-e"); BIO_printf(bio_err,"%-14s decrypt\n","-d"); BIO_printf(bio_err,"%-14s base64 encode/decode, depending on encryption flag\n","-a/-base64"); @@ -371,6 +377,14 @@ bad: } } + if(!str && passarg) { + if(!app_passwd(bio_err, passarg, NULL, &pass, NULL)) { + BIO_printf(bio_err, "Error getting password\n"); + goto end; + } + str = pass; + } + if ((str == NULL) && (cipher != NULL) && (hkey == NULL)) { for (;;) @@ -573,6 +587,7 @@ end: if (out != NULL) BIO_free(out); if (benc != NULL) BIO_free(benc); if (b64 != NULL) BIO_free(b64); + if(pass) Free(pass); EXIT(ret); } |