summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/lib/libssl/src/apps/apps.c27
-rw-r--r--src/lib/libssl/src/apps/apps.h4
-rw-r--r--src/lib/libssl/src/apps/genrsa.c4
3 files changed, 15 insertions, 20 deletions
diff --git a/src/lib/libssl/src/apps/apps.c b/src/lib/libssl/src/apps/apps.c
index 66d82025fb..e54aa7778b 100644
--- a/src/lib/libssl/src/apps/apps.c
+++ b/src/lib/libssl/src/apps/apps.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: apps.c,v 1.60 2014/06/28 04:39:41 deraadt Exp $ */ 1/* $OpenBSD: apps.c,v 1.61 2014/07/09 09:06:58 bcook Exp $ */
2/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) 2/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
3 * All rights reserved. 3 * All rights reserved.
4 * 4 *
@@ -369,8 +369,9 @@ destroy_ui_method(void)
369} 369}
370 370
371int 371int
372password_callback(char *buf, int bufsiz, int verify, PW_CB_DATA *cb_tmp) 372password_callback(char *buf, int bufsiz, int verify, void *arg)
373{ 373{
374 PW_CB_DATA *cb_tmp = arg;
374 UI *ui = NULL; 375 UI *ui = NULL;
375 int res = 0; 376 int res = 0;
376 const char *prompt_info = NULL; 377 const char *prompt_info = NULL;
@@ -587,7 +588,7 @@ load_pkcs12(BIO *err, BIO *in, const char *desc, pem_password_cb *pem_cb,
587 pass = ""; 588 pass = "";
588 else { 589 else {
589 if (!pem_cb) 590 if (!pem_cb)
590 pem_cb = (pem_password_cb *) password_callback; 591 pem_cb = password_callback;
591 len = pem_cb(tpass, PEM_BUFSIZE, 0, cb_data); 592 len = pem_cb(tpass, PEM_BUFSIZE, 0, cb_data);
592 if (len < 0) { 593 if (len < 0) {
593 BIO_printf(err, "Passpharse callback error for %s\n", 594 BIO_printf(err, "Passpharse callback error for %s\n",
@@ -654,8 +655,7 @@ load_cert(BIO *err, const char *file, int format, const char *pass, ENGINE *e,
654 nx->cert = NULL; 655 nx->cert = NULL;
655 NETSCAPE_X509_free(nx); 656 NETSCAPE_X509_free(nx);
656 } else if (format == FORMAT_PEM) 657 } else if (format == FORMAT_PEM)
657 x = PEM_read_bio_X509_AUX(cert, NULL, 658 x = PEM_read_bio_X509_AUX(cert, NULL, password_callback, NULL);
658 (pem_password_cb *) password_callback, NULL);
659 else if (format == FORMAT_PKCS12) { 659 else if (format == FORMAT_PKCS12) {
660 if (!load_pkcs12(err, cert, cert_descrip, NULL, NULL, 660 if (!load_pkcs12(err, cert, cert_descrip, NULL, NULL,
661 NULL, &x, NULL)) 661 NULL, &x, NULL))
@@ -724,16 +724,14 @@ load_key(BIO *err, const char *file, int format, int maybe_stdin,
724 if (format == FORMAT_ASN1) { 724 if (format == FORMAT_ASN1) {
725 pkey = d2i_PrivateKey_bio(key, NULL); 725 pkey = d2i_PrivateKey_bio(key, NULL);
726 } else if (format == FORMAT_PEM) { 726 } else if (format == FORMAT_PEM) {
727 pkey = PEM_read_bio_PrivateKey(key, NULL, 727 pkey = PEM_read_bio_PrivateKey(key, NULL, password_callback, &cb_data);
728 (pem_password_cb *) password_callback, &cb_data);
729 } 728 }
730#if !defined(OPENSSL_NO_RC4) && !defined(OPENSSL_NO_RSA) 729#if !defined(OPENSSL_NO_RC4) && !defined(OPENSSL_NO_RSA)
731 else if (format == FORMAT_NETSCAPE || format == FORMAT_IISSGC) 730 else if (format == FORMAT_NETSCAPE || format == FORMAT_IISSGC)
732 pkey = load_netscape_key(err, key, file, key_descrip, format); 731 pkey = load_netscape_key(err, key, file, key_descrip, format);
733#endif 732#endif
734 else if (format == FORMAT_PKCS12) { 733 else if (format == FORMAT_PKCS12) {
735 if (!load_pkcs12(err, key, key_descrip, 734 if (!load_pkcs12(err, key, key_descrip, password_callback, &cb_data,
736 (pem_password_cb *) password_callback, &cb_data,
737 &pkey, NULL, NULL)) 735 &pkey, NULL, NULL))
738 goto end; 736 goto end;
739 } 737 }
@@ -741,7 +739,7 @@ load_key(BIO *err, const char *file, int format, int maybe_stdin,
741 else if (format == FORMAT_MSBLOB) 739 else if (format == FORMAT_MSBLOB)
742 pkey = b2i_PrivateKey_bio(key); 740 pkey = b2i_PrivateKey_bio(key);
743 else if (format == FORMAT_PVK) 741 else if (format == FORMAT_PVK)
744 pkey = b2i_PVK_bio(key, (pem_password_cb *) password_callback, 742 pkey = b2i_PVK_bio(key, password_callback,
745 &cb_data); 743 &cb_data);
746#endif 744#endif
747 else { 745 else {
@@ -812,8 +810,7 @@ load_pubkey(BIO *err, const char *file, int format, int maybe_stdin,
812 pkey = NULL; 810 pkey = NULL;
813 } else if (format == FORMAT_PEMRSA) { 811 } else if (format == FORMAT_PEMRSA) {
814 RSA *rsa; 812 RSA *rsa;
815 rsa = PEM_read_bio_RSAPublicKey(key, NULL, 813 rsa = PEM_read_bio_RSAPublicKey(key, NULL, password_callback, &cb_data);
816 (pem_password_cb *) password_callback, &cb_data);
817 if (rsa) { 814 if (rsa) {
818 pkey = EVP_PKEY_new(); 815 pkey = EVP_PKEY_new();
819 if (pkey) 816 if (pkey)
@@ -824,8 +821,7 @@ load_pubkey(BIO *err, const char *file, int format, int maybe_stdin,
824 } 821 }
825#endif 822#endif
826 else if (format == FORMAT_PEM) { 823 else if (format == FORMAT_PEM) {
827 pkey = PEM_read_bio_PUBKEY(key, NULL, 824 pkey = PEM_read_bio_PUBKEY(key, NULL, password_callback, &cb_data);
828 (pem_password_cb *) password_callback, &cb_data);
829 } 825 }
830#if !defined(OPENSSL_NO_RC4) && !defined(OPENSSL_NO_RSA) 826#if !defined(OPENSSL_NO_RC4) && !defined(OPENSSL_NO_RSA)
831 else if (format == FORMAT_NETSCAPE || format == FORMAT_IISSGC) 827 else if (format == FORMAT_NETSCAPE || format == FORMAT_IISSGC)
@@ -923,8 +919,7 @@ load_certs_crls(BIO *err, const char *file, int format, const char *pass,
923 ERR_print_errors(err); 919 ERR_print_errors(err);
924 return 0; 920 return 0;
925 } 921 }
926 xis = PEM_X509_INFO_read_bio(bio, NULL, 922 xis = PEM_X509_INFO_read_bio(bio, NULL, password_callback, &cb_data);
927 (pem_password_cb *) password_callback, &cb_data);
928 923
929 BIO_free(bio); 924 BIO_free(bio);
930 925
diff --git a/src/lib/libssl/src/apps/apps.h b/src/lib/libssl/src/apps/apps.h
index 69d7972021..9909d7fa66 100644
--- a/src/lib/libssl/src/apps/apps.h
+++ b/src/lib/libssl/src/apps/apps.h
@@ -1,4 +1,4 @@
1/* $OpenBSD: apps.h,v 1.33 2014/06/12 15:49:27 deraadt Exp $ */ 1/* $OpenBSD: apps.h,v 1.34 2014/07/09 09:06:58 bcook Exp $ */
2/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) 2/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
3 * All rights reserved. 3 * All rights reserved.
4 * 4 *
@@ -144,7 +144,7 @@ typedef struct pw_cb_data {
144 const char *prompt_info; 144 const char *prompt_info;
145} PW_CB_DATA; 145} PW_CB_DATA;
146 146
147int password_callback(char *buf, int bufsiz, int verify, PW_CB_DATA *cb_data); 147int password_callback(char *buf, int bufsiz, int verify, void *cb_data);
148 148
149int setup_ui_method(void); 149int setup_ui_method(void);
150void destroy_ui_method(void); 150void destroy_ui_method(void);
diff --git a/src/lib/libssl/src/apps/genrsa.c b/src/lib/libssl/src/apps/genrsa.c
index ab64943e82..9398120809 100644
--- a/src/lib/libssl/src/apps/genrsa.c
+++ b/src/lib/libssl/src/apps/genrsa.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: genrsa.c,v 1.33 2014/06/12 15:49:27 deraadt Exp $ */ 1/* $OpenBSD: genrsa.c,v 1.34 2014/07/09 09:06:58 bcook Exp $ */
2/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) 2/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
3 * All rights reserved. 3 * All rights reserved.
4 * 4 *
@@ -252,7 +252,7 @@ bad:
252 cb_data.password = passout; 252 cb_data.password = passout;
253 cb_data.prompt_info = outfile; 253 cb_data.prompt_info = outfile;
254 if (!PEM_write_bio_RSAPrivateKey(out, rsa, enc, NULL, 0, 254 if (!PEM_write_bio_RSAPrivateKey(out, rsa, enc, NULL, 0,
255 (pem_password_cb *) password_callback, &cb_data)) 255 password_callback, &cb_data))
256 goto err; 256 goto err;
257 } 257 }
258 258