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

Andreas Lehmkühler commented on PDFBOX-2469:
--------------------------------------------

[~tilman] Thanks for your input.

It was quite easy to fix. As already someone mentioned in the code, we simply 
have to skip the signature dictionary when decrypting the pdf. 
But there is something wrong. In 1.8.8 I get an exception when extracting the 
text because of a missing permission to do so. The trunk extracts the text 
without any problem. It looks as if something went wrong when processing the 
access permissions

> javax.crypto.BadPaddingException in PDFBox 1.8.8-SNAPSHOT
> ---------------------------------------------------------
>
>                 Key: PDFBOX-2469
>                 URL: https://issues.apache.org/jira/browse/PDFBOX-2469
>             Project: PDFBox
>          Issue Type: Bug
>          Components: PDModel
>    Affects Versions: 1.8.7, 2.0.0
>            Reporter: Tim Allison
>            Assignee: Andreas Lehmkühler
>            Priority: Minor
>              Labels: AES128
>             Fix For: 1.8.8, 2.0.0
>
>         Attachments: testPDF_acroForm.pdf
>
>
> [~gagravarr] noticed that one of our old test files fails a Tika test now 
> with PDFBox 1.8.7 and Java 1.6.
> I just tested the pure PDFBox app built with PDFBox 1.8.8-SNAPSHOT, and I'm 
> getting the same exception with Java 1.6 and Java 1.7.
> Stacktrace: 
> {noformat}
> ExtractText failed with the following exception:
> java.io.IOException: javax.crypto.BadPaddingException: Given final block not 
> properly padded
>         at 
> javax.crypto.CipherInputStream.getMoreData(CipherInputStream.java:118)
>         at javax.crypto.CipherInputStream.read(CipherInputStream.java:236)
>         at javax.crypto.CipherInputStream.read(CipherInputStream.java:212)
>         at 
> org.apache.pdfbox.pdmodel.encryption.SecurityHandler.encryptData(SecurityHandler.java:316)
>         at 
> org.apache.pdfbox.pdmodel.encryption.SecurityHandler.decryptStream(SecurityHandler.java:421)
>         at 
> org.apache.pdfbox.pdmodel.encryption.SecurityHandler.decrypt(SecurityHandler.java:390)
>         at 
> org.apache.pdfbox.pdmodel.encryption.SecurityHandler.decryptObject(SecurityHandler.java:365)
>         at 
> org.apache.pdfbox.pdmodel.encryption.SecurityHandler.proceedDecryption(SecurityHandler.java:196)
>         at 
> org.apache.pdfbox.pdmodel.encryption.StandardSecurityHandler.decryptDocument(StandardSecurityHandler.java:158)
>         at 
> org.apache.pdfbox.pdmodel.PDDocument.openProtection(PDDocument.java:1598)
>         at org.apache.pdfbox.ExtractText.startExtraction(ExtractText.java:216)
>         at org.apache.pdfbox.ExtractText.main(ExtractText.java:85)
>         at org.apache.pdfbox.PDFBox.main(PDFBox.java:58)
> Caused by: javax.crypto.BadPaddingException: Given final block not properly 
> padded
>         at com.sun.crypto.provider.CipherCore.doFinal(CipherCore.java:811)
>         at com.sun.crypto.provider.CipherCore.doFinal(CipherCore.java:676)
>         at com.sun.crypto.provider.AESCipher.engineDoFinal(AESCipher.java:423)
>         at javax.crypto.Cipher.doFinal(Cipher.java:1708)
>         at 
> javax.crypto.CipherInputStream.getMoreData(CipherInputStream.java:112)
>         ... 12 more
> {noformat}
> java version "1.7.0_71"
> OpenJDK Runtime Environment (rhel-2.5.3.1.el6-x86_64 u71-b14)
> OpenJDK 64-Bit Server VM (build 24.65-b04, mixed mode)
> and
> java version "1.6.0_33"
> OpenJDK Runtime Environment (IcedTea6 1.13.5) (rhel-1.13.5.0.el6_6-x86_64)
> OpenJDK 64-Bit Server VM (build 23.25-b01, mixed mode)



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

Reply via email to