[ 
https://issues.apache.org/jira/browse/PDFBOX-2936?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14698633#comment-14698633
 ] 

Tilman Hausherr commented on PDFBOX-2936:
-----------------------------------------

Seems that decryption is not done correctly if the preflight parser is used, 
because it works fine if loadNonSeq() is used.

On the other hand, encrypted files are not valid PDF/A anyway, so you would 
still get an error message if we fix that bug. Try the same file at
http://www.pdf-tools.com/pdf/validate-pdfa-online.aspx
So is this really important to you? 

> javax.crypto.BadPaddingException: Given final block not properly padded
> -----------------------------------------------------------------------
>
>                 Key: PDFBOX-2936
>                 URL: https://issues.apache.org/jira/browse/PDFBOX-2936
>             Project: PDFBox
>          Issue Type: Bug
>          Components: Crypto, Preflight
>    Affects Versions: 1.8.10, 1.8.11, 2.0.0
>         Environment: java version "1.8.0_25"
> Java(TM) SE Runtime Environment (build 1.8.0_25-b17)
> Java HotSpot(TM) 64-Bit Server VM (build 25.25-b02, mixed mode)
>            Reporter: Daniel Woelfel
>         Attachments: i-129.pdf
>
>
> I get the following stack trace when trying to parse certain pdfs:
> {noformat}
> org.apache.pdfbox.preflight.exception.SyntaxValidationException
>         at 
> org.apache.pdfbox.preflight.parser.PreflightParser.parse(PreflightParser.java:203)
>         at 
> org.apache.pdfbox.preflight.parser.PreflightParser.parse(PreflightParser.java:180)
>         at 
> org.apache.pdfbox.preflight.parser.PreflightParser.parse(PreflightParser.java:168)
>         at PDFBoxTest.main(hello.java:11)
> Caused by: org.apache.pdfbox.exceptions.WrappedIOException
>         at 
> org.apache.pdfbox.pdmodel.encryption.SecurityHandler.encryptData(SecurityHandler.java:376)
>         at 
> org.apache.pdfbox.pdmodel.encryption.SecurityHandler.decryptString(SecurityHandler.java:578)
>         at 
> org.apache.pdfbox.pdfparser.NonSequentialPDFParser.decryptString(NonSequentialPDFParser.java:1571)
>         at 
> org.apache.pdfbox.pdfparser.NonSequentialPDFParser.decryptDictionary(NonSequentialPDFParser.java:1535)
>         at 
> org.apache.pdfbox.pdfparser.NonSequentialPDFParser.decrypt(NonSequentialPDFParser.java:1596)
>         at 
> org.apache.pdfbox.preflight.parser.PreflightParser.parseObjectDynamically(PreflightParser.java:797)
>         at 
> org.apache.pdfbox.pdfparser.NonSequentialPDFParser.parseObjectDynamically(NonSequentialPDFParser.java:1343)
>         at 
> org.apache.pdfbox.preflight.parser.PreflightParser.initialParse(PreflightParser.java:273)
>         at 
> org.apache.pdfbox.pdfparser.NonSequentialPDFParser.parse(NonSequentialPDFParser.java:886)
>         at 
> org.apache.pdfbox.preflight.parser.PreflightParser.parse(PreflightParser.java:198)
>         ... 3 more
> Caused by: javax.crypto.BadPaddingException: Given final block not properly 
> padded
>         at com.sun.crypto.provider.CipherCore.doFinal(CipherCore.java:966)
>         at com.sun.crypto.provider.CipherCore.doFinal(CipherCore.java:824)
>         at com.sun.crypto.provider.AESCipher.engineDoFinal(AESCipher.java:436)
>         at javax.crypto.Cipher.doFinal(Cipher.java:2004)
>         at 
> org.apache.pdfbox.pdmodel.encryption.SecurityHandler.encryptData(SecurityHandler.java:352)
>         ... 12 more
> {noformat}
> The parsing code looks something like:
> {noformat}
> FileDataSource fd = new FileDataSource("i-129.pdf");
> PreflightParser parser = new PreflightParser(fd);
> parser.parse();
> {noformat}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to