diff --git a/tika-core/src/main/java/org/apache/tika/metadata/TikaMetadataKeys.java b/tika-core/src/main/java/org/apache/tika/metadata/TikaMetadataKeys.java
index ce40a11..9fdd020 100644
--- a/tika-core/src/main/java/org/apache/tika/metadata/TikaMetadataKeys.java
+++ b/tika-core/src/main/java/org/apache/tika/metadata/TikaMetadataKeys.java
@@ -30,5 +30,7 @@ public interface TikaMetadataKeys {
     String EMBEDDED_STORAGE_CLASS_ID = "embeddedStorageClassId";
 
     String EMBEDDED_RESOURCE_TYPE = "embeddedResourceType";
+    
+    String ENCRYPTED = "encrypted";
 
 }
diff --git a/tika-parsers/src/main/java/org/apache/tika/parser/pkg/PackageParser.java b/tika-parsers/src/main/java/org/apache/tika/parser/pkg/PackageParser.java
index 76c6fe1..398c432 100644
--- a/tika-parsers/src/main/java/org/apache/tika/parser/pkg/PackageParser.java
+++ b/tika-parsers/src/main/java/org/apache/tika/parser/pkg/PackageParser.java
@@ -38,6 +38,7 @@ import org.apache.commons.compress.archivers.sevenz.SevenZFile;
 import org.apache.commons.compress.archivers.tar.TarArchiveInputStream;
 import org.apache.commons.compress.archivers.zip.UnsupportedZipFeatureException;
 import org.apache.commons.compress.archivers.zip.UnsupportedZipFeatureException.Feature;
+import org.apache.commons.compress.archivers.zip.ZipArchiveEntry;
 import org.apache.commons.compress.archivers.zip.ZipArchiveInputStream;
 import org.apache.commons.io.input.CloseShieldInputStream;
 import org.apache.tika.exception.EncryptedDocumentException;
@@ -177,7 +178,7 @@ public class PackageParser extends AbstractParser {
             ArchiveEntry entry = ais.getNextEntry();
             while (entry != null) {
                 if (!entry.isDirectory()) {
-                    parseEntry(ais, entry, extractor, xhtml);
+                    parseEntry(ais, entry, extractor, xhtml, metadata);
                 }
                 entry = ais.getNextEntry();
             }
@@ -199,9 +200,17 @@ public class PackageParser extends AbstractParser {
 
     private void parseEntry(
             ArchiveInputStream archive, ArchiveEntry entry,
-            EmbeddedDocumentExtractor extractor, XHTMLContentHandler xhtml)
+            EmbeddedDocumentExtractor extractor, XHTMLContentHandler xhtml, Metadata metadata)
             throws SAXException, IOException, TikaException {
         String name = entry.getName();
+        
+        if (entry instanceof ZipArchiveEntry) {
+        	boolean usesEncryption = ((ZipArchiveEntry) entry).getGeneralPurposeBit().usesEncryption();
+        	
+        	if (usesEncryption)
+        		metadata.set(Metadata.ENCRYPTED, "true");
+        }
+        
         if (archive.canReadEntryData(entry)) {
             // Fetch the metadata on the entry contained in the archive
             Metadata entrydata = handleEntryMetadata(name, null, 
diff --git a/tika-parsers/src/test/java/org/apache/tika/parser/pkg/ZipParserTest.java b/tika-parsers/src/test/java/org/apache/tika/parser/pkg/ZipParserTest.java
index 9c53d43..afe41a4 100644
--- a/tika-parsers/src/test/java/org/apache/tika/parser/pkg/ZipParserTest.java
+++ b/tika-parsers/src/test/java/org/apache/tika/parser/pkg/ZipParserTest.java
@@ -20,6 +20,7 @@ import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertNotNull;
 import static org.junit.Assert.assertNull;
 import static org.junit.Assert.assertTrue;
+import static org.junit.Assert.fail;
 
 import java.io.InputStream;
 import java.util.HashSet;
@@ -28,6 +29,7 @@ import java.util.Set;
 import org.apache.commons.codec.binary.Base64;
 import org.apache.commons.compress.archivers.ArchiveStreamFactory;
 import org.apache.tika.Tika;
+import org.apache.tika.exception.EncryptedDocumentException;
 import org.apache.tika.extractor.EmbeddedDocumentExtractor;
 import org.apache.tika.io.TikaInputStream;
 import org.apache.tika.metadata.Metadata;
@@ -77,6 +79,21 @@ public class ZipParserTest extends AbstractPkgTest {
         assertContains("Rida Benjelloun", content);
     }
 
+    @Test
+    public void testEncryptedZipParsing() throws Exception {
+        Parser parser = new AutoDetectParser();
+        ContentHandler handler = new BodyContentHandler();
+        Metadata metadata = new Metadata();
+
+        try (InputStream stream = ZipParserTest.class.getResourceAsStream(
+                "/test-documents/encrypted_file.zip")) {
+            parser.parse(stream, handler, metadata, recursingContext);
+        }
+        
+        assertEquals("true", metadata.get(Metadata.ENCRYPTED));
+    }
+    
+
     /**
      * Tests that the ParseContext parser is correctly
      *  fired for all the embedded entries.
