Add two test cases for decryption.
diff --git a/regress/CMakeLists.txt b/regress/CMakeLists.txt
index cfd22dd..f6df6aa 100644
--- a/regress/CMakeLists.txt
+++ b/regress/CMakeLists.txt
@@ -43,6 +43,8 @@
 	add_from_zip_stored.test
 	add_stored.test
 	add_stored_in_memory.test
+	decrypt-correct-password.test
+	decrypt-wrong-password.test
 	delete_add_same.test
 	delete_invalid.test
 	delete_last.test
diff --git a/regress/Makefile.am b/regress/Makefile.am
index 06aea69..7f2bbfe 100644
--- a/regress/Makefile.am
+++ b/regress/Makefile.am
@@ -136,6 +136,8 @@
 	add_from_zip_stored.test \
 	add_stored.test \
 	add_stored_in_memory.test \
+	decrypt-correct-password.test \
+	decrypt-wrong-password.test \
 	delete_add_same.test \
 	delete_invalid.test \
 	delete_last.test \
diff --git a/regress/decrypt-correct-password.test b/regress/decrypt-correct-password.test
new file mode 100644
index 0000000..57a66b8
--- /dev/null
+++ b/regress/decrypt-correct-password.test
@@ -0,0 +1,6 @@
+# test decryption support, extract file using correct password
+program modify
+return 0
+args encrypt.zzip  set_password foo  cat 0
+file encrypt.zzip encrypt.zip encrypt.zip
+stdout foo
diff --git a/regress/decrypt-wrong-password.test b/regress/decrypt-wrong-password.test
new file mode 100644
index 0000000..b4e4f49
--- /dev/null
+++ b/regress/decrypt-wrong-password.test
@@ -0,0 +1,6 @@
+# test decryption support, extract file using wrong password
+program modify
+return 1
+args encrypt.zzip  set_password notfoo  cat 0
+file encrypt.zzip encrypt.zip encrypt.zip
+stderr can't open file at index '0': Wrong password provided
diff --git a/regress/modify.c b/regress/modify.c
index a278686..bcad220 100644
--- a/regress/modify.c
+++ b/regress/modify.c
@@ -475,6 +475,16 @@
 }
 
 static int
+set_password(int argc, char *argv[]) {
+    /* set default password */
+    if (zip_set_default_password(za, argv[0]) < 0) {
+	fprintf(stderr, "can't set default password to `%s'", argv[0]);
+	return -1;
+    }
+    return 0;
+}
+
+static int
 zstat(int argc, char *argv[]) {
     zip_uint64_t idx;
     char buf[100];
@@ -831,6 +841,7 @@
     { "set_file_comment", 2, "index comment", "set file comment", set_file_comment },
     { "set_file_compression", 3, "index method flags", "set file compression method", set_file_compression },
     { "set_file_mtime", 2, "index timestamp", "set file modification time", set_file_mtime },
+    { "set_password", 1, "set default password", "set default password for encryption", set_password },
     { "stat", 1, "index", "print information about entry", zstat },
     { "unchange_all", 0, "", "revert all changes", unchange_all },
     { "zin_close", 1, "index", "close input zip_source (for internal tests)", zin_close }