mirror of https://github.com/apache/poi.git
Bug 58616: Try to initialize with empty password if not done before
git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1722407 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
parent
a40f3668d6
commit
baee1a5599
|
@ -199,6 +199,7 @@ public class TestAllFiles {
|
|||
//EXPECTED_FAILURES.add("poifs/protected_sha512.xlsx");
|
||||
//EXPECTED_FAILURES.add("poifs/extenxls_pwd123.xlsx");
|
||||
//EXPECTED_FAILURES.add("poifs/protected_agile.docx");
|
||||
EXPECTED_FAILURES.add("spreadsheet/58616.xlsx");
|
||||
|
||||
// TODO: fails XMLExportTest, is this ok?
|
||||
EXPECTED_FAILURES.add("spreadsheet/CustomXMLMapping-singleattributenamespace.xlsx");
|
||||
|
|
|
@ -127,6 +127,9 @@ public class StandardDecryptor extends Decryptor {
|
|||
|
||||
_length = dis.readLong();
|
||||
|
||||
if(getSecretKey() == null) {
|
||||
verifyPassword(null);
|
||||
}
|
||||
// limit wrong calculated ole entries - (bug #57080)
|
||||
// standard encryption always uses aes encoding, so blockSize is always 16
|
||||
// http://stackoverflow.com/questions/3283787/size-of-data-after-aes-encryption
|
||||
|
|
|
@ -22,6 +22,7 @@ import static org.junit.Assert.assertTrue;
|
|||
import java.io.ByteArrayInputStream;
|
||||
import java.io.ByteArrayOutputStream;
|
||||
import java.io.File;
|
||||
import java.io.FileInputStream;
|
||||
import java.io.IOException;
|
||||
import java.io.InputStream;
|
||||
import java.security.GeneralSecurityException;
|
||||
|
@ -33,6 +34,7 @@ import org.apache.poi.poifs.filesystem.DirectoryNode;
|
|||
import org.apache.poi.poifs.filesystem.NPOIFSFileSystem;
|
||||
import org.apache.poi.poifs.filesystem.POIFSFileSystem;
|
||||
import org.apache.poi.util.IOUtils;
|
||||
import org.apache.poi.xssf.XSSFTestDataSamples;
|
||||
import org.junit.Test;
|
||||
|
||||
/**
|
||||
|
@ -151,4 +153,13 @@ public class TestDecryptor {
|
|||
zis.close();
|
||||
fs.close();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void test58616() throws IOException, GeneralSecurityException {
|
||||
POIFSFileSystem pfs = new POIFSFileSystem(new FileInputStream(XSSFTestDataSamples.getSampleFile("58616.xlsx")));
|
||||
EncryptionInfo info = new EncryptionInfo(pfs);
|
||||
Decryptor dec = Decryptor.getInstance(info);
|
||||
//dec.verifyPassword(null);
|
||||
dec.getDataStream(pfs);
|
||||
}
|
||||
}
|
Binary file not shown.
Loading…
Reference in New Issue