From c4c31576fef61402e2560bca2786c72b0dbaff4e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Love=20H=C3=B6rnquist=20=C3=85strand?= Date: Sun, 26 Mar 2006 23:54:18 +0000 Subject: [PATCH] (_hx509_private_key_assign_key_file): ask for password if nothing matches. git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@16813 ec53bebd-3082-4978-b11e-865c3cabbd6b --- lib/hx509/crypto.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/lib/hx509/crypto.c b/lib/hx509/crypto.c index e72d27630..a419170c0 100644 --- a/lib/hx509/crypto.c +++ b/lib/hx509/crypto.c @@ -945,16 +945,20 @@ _hx509_private_key_assign_key_file(hx509_private_key key, pw = _hx509_lock_get_passwords(lock); - for (i = 0; i < pw->len; i++) { + for (i = 0; i < pw->len + 1; i++) { #if HAVE_OPENSSL EVP_PKEY *private_key; + const char *password = NULL; FILE *f; + if (i < pw->len) + password = pw->val[i]; + f = fopen(fn, "r"); if (f == NULL) return ENOMEM; - private_key = PEM_read_PrivateKey(f, NULL, NULL, pw->val[i]); + private_key = PEM_read_PrivateKey(f, NULL, NULL, rk_UNCONST(password)); fclose(f); if (private_key == NULL) continue;