projects
/
openssl.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
changes from 0.9.8
[openssl.git]
/
apps
/
dgst.c
diff --git
a/apps/dgst.c
b/apps/dgst.c
index 30253149114186123e8159b811248a7d7bdc527f..c13535f3b21f59f4fc12ed8944c7b2ed9c10108d 100644
(file)
--- a/
apps/dgst.c
+++ b/
apps/dgst.c
@@
-100,6
+100,7
@@
int MAIN(int argc, char **argv)
EVP_PKEY *sigkey = NULL;
unsigned char *sigbuf = NULL;
int siglen = 0;
EVP_PKEY *sigkey = NULL;
unsigned char *sigbuf = NULL;
int siglen = 0;
+ char *passargin = NULL, *passin = NULL;
#ifndef OPENSSL_NO_ENGINE
char *engine=NULL;
#endif
#ifndef OPENSSL_NO_ENGINE
char *engine=NULL;
#endif
@@
-145,6
+146,12
@@
int MAIN(int argc, char **argv)
if (--argc < 1) break;
keyfile=*(++argv);
}
if (--argc < 1) break;
keyfile=*(++argv);
}
+ else if (!strcmp(*argv,"-passin"))
+ {
+ if (--argc < 1)
+ break;
+ passargin=*++argv;
+ }
else if (strcmp(*argv,"-verify") == 0)
{
if (--argc < 1) break;
else if (strcmp(*argv,"-verify") == 0)
{
if (--argc < 1) break;
@@
-257,6
+264,12
@@
int MAIN(int argc, char **argv)
BIO_set_callback_arg(in,bio_err);
}
BIO_set_callback_arg(in,bio_err);
}
+ if(!app_passwd(bio_err, passargin, NULL, &passin, NULL))
+ {
+ BIO_printf(bio_err, "Error getting password\n");
+ goto end;
+ }
+
if ((in == NULL) || (bmd == NULL))
{
ERR_print_errors(bio_err);
if ((in == NULL) || (bmd == NULL))
{
ERR_print_errors(bio_err);
@@
-298,7
+311,7
@@
int MAIN(int argc, char **argv)
sigkey = load_pubkey(bio_err, keyfile, keyform, 0, NULL,
e, "key file");
else
sigkey = load_pubkey(bio_err, keyfile, keyform, 0, NULL,
e, "key file");
else
- sigkey = load_key(bio_err, keyfile, keyform, 0,
NULL
,
+ sigkey = load_key(bio_err, keyfile, keyform, 0,
passin
,
e, "key file");
if (!sigkey)
{
e, "key file");
if (!sigkey)
{
@@
-385,6
+398,8
@@
end:
OPENSSL_free(buf);
}
if (in != NULL) BIO_free(in);
OPENSSL_free(buf);
}
if (in != NULL) BIO_free(in);
+ if (passin)
+ OPENSSL_free(passin);
BIO_free_all(out);
EVP_PKEY_free(sigkey);
if(sigbuf) OPENSSL_free(sigbuf);
BIO_free_all(out);
EVP_PKEY_free(sigkey);
if(sigbuf) OPENSSL_free(sigbuf);