Hi,

I have a password-protected Excel2013 file that I want to read using POI.  I am 
aware of Bug 55544:
    https://issues.apache.org/bugzilla/show_bug.cgi?id=55544

Hence, I used the most recent "nightly" build:
    https://builds.apache.org/job/POI/lastSuccessfulBuild/artifact/build/dist/

Here is the code:

    POIFSFileSystem pfs = new POIFSFileSystem(new 
FileInputStream("C:\\customer\\IQNFiles\\PII_sample.xlsx"));
    EncryptionInfo info = new EncryptionInfo(pfs);
    Decryptor dec = Decryptor.getInstance(info);
    dec.verifyPassword("welcome1");
    XSSFWorkbook wb = new XSSFWorkbook(d.getDataStream(pfs));


This code works on a password-protected Excel2010 file but not on the desired 
file.  The last line throws an exception:

Exception in thread "main" java.security.InvalidKeyException: No installed 
provider supports this key: (null)

I did some digging and I discovered that the password is not accepted (output 
is 'false'):

    POIFSFileSystem pfs = new POIFSFileSystem(new 
FileInputStream("C:\\customer\\IQNFiles\\PII_sample.xlsx"));
    EncryptionInfo info = new EncryptionInfo(pfs);
    Decryptor dec = Decryptor.getInstance(info);
    System.out.println(dec.verifyPassword("welcome1"));
 
I suppose this is what caused the exception, above.

Has anyone else seen this problem before?  Have I done something improper?

Thanks for any guidance.


Jeff

Reply via email to