Add -pass argument to 'enc'.

Fix to make Win32 compile work again.
This commit is contained in:
Dr. Stephen Henson 2000-02-17 00:41:43 +00:00
parent a3fe382e2d
commit cd3c54e50f
4 changed files with 29 additions and 5 deletions

View File

@ -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);
}

View File

@ -9,6 +9,7 @@ enc - symmetric cipher routines
B<openssl enc -ciphername>
[B<-in filename>]
[B<-out filename>]
[B<-pass arg>]
[B<-e>]
[B<-d>]
[B<-a>]
@ -41,6 +42,11 @@ the input filename, standard input by default.
the output filename, standard output by default.
=item B<-pass arg>
the password source. For more information about the format of B<arg>
see the B<PASS PHRASE ARGUMENTS> section in L<openssl(1)|openssl(1)>.
=item B<-salt>
use a salt in the key derivation routines. This option should B<ALWAYS>
@ -73,11 +79,14 @@ if the B<-a> option is set then base64 process the data on one line.
=item B<-k password>
the password to derive the key from.
the password to derive the key from. This is for compatibility with previous
versions of OpenSSL. Superseded by the B<-pass> argument.
=item B<-kfile filename>
read the password to derive the key from the first line of B<filename>
read the password to derive the key from the first line of B<filename>.
This is for computability with previous versions of OpenSSL. Superseded by
the B<-pass> argument.
=item B<-S salt>

View File

@ -2221,3 +2221,4 @@ ASN1_STRING_TABLE_add 2245
CRYPTO_dbg_get_options 2246
AUTHORITY_INFO_ACCESS_new 2247
CRYPTO_get_mem_debug_options 2248
des_crypt 2249

View File

@ -377,7 +377,6 @@ sub do_defs
# Prune the returned functions
delete $funcs{"SSL_add_dir_cert_subjects_to_stack"};
delete $funcs{"des_crypt"};
delete $funcs{"RSA_PKCS1_RSAref"} unless $rsaref;
if($W32) {