More NPOIFS Constructor updates

git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1085451 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
Nick Burch 2011-03-25 16:24:34 +00:00
parent 64185cd51c
commit 915713a4d3
2 changed files with 23 additions and 4 deletions

View File

@ -29,7 +29,9 @@ import javax.crypto.CipherInputStream;
import javax.crypto.SecretKey; import javax.crypto.SecretKey;
import javax.crypto.spec.SecretKeySpec; 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.DocumentInputStream;
import org.apache.poi.poifs.filesystem.NPOIFSFileSystem;
import org.apache.poi.poifs.filesystem.POIFSFileSystem; import org.apache.poi.poifs.filesystem.POIFSFileSystem;
import org.apache.poi.util.LittleEndian; import org.apache.poi.util.LittleEndian;
@ -148,10 +150,19 @@ public class Decryptor {
} }
public InputStream getDataStream(POIFSFileSystem fs) throws IOException, GeneralSecurityException { public InputStream getDataStream(POIFSFileSystem fs) throws IOException, GeneralSecurityException {
DocumentInputStream dis = fs.createDocumentInputStream("EncryptedPackage"); return getDataStream(fs.getRoot());
}
long size = dis.readLong(); public InputStream getDataStream(NPOIFSFileSystem fs) throws IOException, GeneralSecurityException {
return getDataStream(fs.getRoot());
}
return new CipherInputStream(dis, getCipher()); @SuppressWarnings("unused")
public InputStream getDataStream(DirectoryNode dir) throws IOException, GeneralSecurityException {
DocumentInputStream dis = dir.createDocumentInputStream("EncryptedPackage");
long size = dis.readLong();
return new CipherInputStream(dis, getCipher());
} }
} }

View File

@ -16,7 +16,9 @@
==================================================================== */ ==================================================================== */
package org.apache.poi.poifs.crypt; 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.DocumentInputStream;
import org.apache.poi.poifs.filesystem.NPOIFSFileSystem;
import org.apache.poi.poifs.filesystem.POIFSFileSystem; import org.apache.poi.poifs.filesystem.POIFSFileSystem;
import java.io.IOException; import java.io.IOException;
@ -33,7 +35,13 @@ public class EncryptionInfo {
private final EncryptionVerifier verifier; private final EncryptionVerifier verifier;
public EncryptionInfo(POIFSFileSystem fs) throws IOException { 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(); versionMajor = dis.readShort();
versionMinor = dis.readShort(); versionMinor = dis.readShort();