]> source.dussan.org Git - poi.git/commitdiff
More NPOIFS Constructor updates
authorNick Burch <nick@apache.org>
Fri, 25 Mar 2011 16:24:34 +0000 (16:24 +0000)
committerNick Burch <nick@apache.org>
Fri, 25 Mar 2011 16:24:34 +0000 (16:24 +0000)
git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1085451 13f79535-47bb-0310-9956-ffa450edef68

src/java/org/apache/poi/poifs/crypt/Decryptor.java
src/java/org/apache/poi/poifs/crypt/EncryptionInfo.java

index 9e6c430803cc03a8f9606805331ed703509e82c3..e97f41b41db94823a97961bd064b13f97802de45 100644 (file)
@@ -29,7 +29,9 @@ import javax.crypto.CipherInputStream;
 import javax.crypto.SecretKey;
 import javax.crypto.spec.SecretKeySpec;
 
+import org.apache.poi.poifs.filesystem.DirectoryNode;
 import org.apache.poi.poifs.filesystem.DocumentInputStream;
+import org.apache.poi.poifs.filesystem.NPOIFSFileSystem;
 import org.apache.poi.poifs.filesystem.POIFSFileSystem;
 import org.apache.poi.util.LittleEndian;
 
@@ -148,10 +150,19 @@ public class Decryptor {
     }
 
     public InputStream getDataStream(POIFSFileSystem fs) throws IOException, GeneralSecurityException {
-        DocumentInputStream dis = fs.createDocumentInputStream("EncryptedPackage");
+       return getDataStream(fs.getRoot());
+    }
+
+    public InputStream getDataStream(NPOIFSFileSystem fs) throws IOException, GeneralSecurityException {
+       return getDataStream(fs.getRoot());
+    }
+
+    @SuppressWarnings("unused")
+    public InputStream getDataStream(DirectoryNode dir) throws IOException, GeneralSecurityException {
+       DocumentInputStream dis = dir.createDocumentInputStream("EncryptedPackage");
 
-        long size = dis.readLong();
+       long size = dis.readLong();
 
-        return new CipherInputStream(dis, getCipher());
+       return new CipherInputStream(dis, getCipher());
     }
 }
index 713e9d054373b5267aec72241f30cdd7f88a399b..68ead77428afc4769e45ce9dded646b8f4c09323 100644 (file)
@@ -16,7 +16,9 @@
 ==================================================================== */
 package org.apache.poi.poifs.crypt;
 
+import org.apache.poi.poifs.filesystem.DirectoryNode;
 import org.apache.poi.poifs.filesystem.DocumentInputStream;
+import org.apache.poi.poifs.filesystem.NPOIFSFileSystem;
 import org.apache.poi.poifs.filesystem.POIFSFileSystem;
 
 import java.io.IOException;
@@ -33,7 +35,13 @@ public class EncryptionInfo {
     private final EncryptionVerifier verifier;
 
     public EncryptionInfo(POIFSFileSystem fs) throws IOException {
-        DocumentInputStream dis = fs.createDocumentInputStream("EncryptionInfo");
+       this(fs.getRoot());
+    }
+    public EncryptionInfo(NPOIFSFileSystem fs) throws IOException {
+       this(fs.getRoot());
+    }
+    public EncryptionInfo(DirectoryNode dir) throws IOException {
+        DocumentInputStream dis = dir.createDocumentInputStream("EncryptionInfo");
 
         versionMajor = dis.readShort();
         versionMinor = dis.readShort();