summaryrefslogtreecommitdiff
path: root/src/lib/libssl/src/apps/dsa.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/libssl/src/apps/dsa.c')
-rw-r--r--src/lib/libssl/src/apps/dsa.c40
1 files changed, 14 insertions, 26 deletions
diff --git a/src/lib/libssl/src/apps/dsa.c b/src/lib/libssl/src/apps/dsa.c
index 9e103037dd..cbc1fe3f81 100644
--- a/src/lib/libssl/src/apps/dsa.c
+++ b/src/lib/libssl/src/apps/dsa.c
@@ -96,9 +96,7 @@ int MAIN(int, char **);
96 96
97int MAIN(int argc, char **argv) 97int MAIN(int argc, char **argv)
98 { 98 {
99#ifndef OPENSSL_NO_ENGINE
100 ENGINE *e = NULL; 99 ENGINE *e = NULL;
101#endif
102 int ret=1; 100 int ret=1;
103 DSA *dsa=NULL; 101 DSA *dsa=NULL;
104 int i,badops=0; 102 int i,badops=0;
@@ -240,37 +238,27 @@ bad:
240 goto end; 238 goto end;
241 } 239 }
242 240
243 in=BIO_new(BIO_s_file());
244 out=BIO_new(BIO_s_file()); 241 out=BIO_new(BIO_s_file());
245 if ((in == NULL) || (out == NULL)) 242 if (out == NULL)
246 { 243 {
247 ERR_print_errors(bio_err); 244 ERR_print_errors(bio_err);
248 goto end; 245 goto end;
249 } 246 }
250 247
251 if (infile == NULL)
252 BIO_set_fp(in,stdin,BIO_NOCLOSE);
253 else
254 {
255 if (BIO_read_filename(in,infile) <= 0)
256 {
257 perror(infile);
258 goto end;
259 }
260 }
261
262 BIO_printf(bio_err,"read DSA key\n"); 248 BIO_printf(bio_err,"read DSA key\n");
263 if (informat == FORMAT_ASN1) { 249 {
264 if(pubin) dsa=d2i_DSA_PUBKEY_bio(in,NULL); 250 EVP_PKEY *pkey;
265 else dsa=d2i_DSAPrivateKey_bio(in,NULL); 251 if (pubin)
266 } else if (informat == FORMAT_PEM) { 252 pkey = load_pubkey(bio_err, infile, informat, 1,
267 if(pubin) dsa=PEM_read_bio_DSA_PUBKEY(in,NULL, NULL, NULL); 253 passin, e, "Public Key");
268 else dsa=PEM_read_bio_DSAPrivateKey(in,NULL,NULL,passin); 254 else
269 } else 255 pkey = load_key(bio_err, infile, informat, 1,
270 { 256 passin, e, "Private Key");
271 BIO_printf(bio_err,"bad input format specified for key\n"); 257
272 goto end; 258 if (pkey != NULL)
273 } 259 dsa = pkey == NULL ? NULL : EVP_PKEY_get1_DSA(pkey);
260 EVP_PKEY_free(pkey);
261 }
274 if (dsa == NULL) 262 if (dsa == NULL)
275 { 263 {
276 BIO_printf(bio_err,"unable to load Key\n"); 264 BIO_printf(bio_err,"unable to load Key\n");