[ https://issues.apache.org/jira/browse/PDFBOX-3889?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16118938#comment-16118938 ]
Tilman Hausherr commented on PDFBOX-3889: ----------------------------------------- Here's the code I used: {code} import java.io.IOException; import java.net.MalformedURLException; import java.net.URL; import org.apache.pdfbox.pdmodel.PDDocument; public class PDFBox3889 { public static void main(String[] args) throws MalformedURLException, IOException { PDDocument doc = PDDocument.loadNonSeq(new URL("https://issues.apache.org/jira/secure/attachment/12880876/14-03-1159.pdf").openStream(), null); System.out.println(doc.getNumberOfPages()); doc.close(); } } {code} It outputs a warning and then 7. Just to be sure - do you have the error when opening the file? Or when doing something else? > javax.crypto.BadPaddingException: Given final block not properly padded > ----------------------------------------------------------------------- > > Key: PDFBOX-3889 > URL: https://issues.apache.org/jira/browse/PDFBOX-3889 > Project: PDFBox > Issue Type: Bug > Components: Crypto > Affects Versions: 1.8.13 > Environment: Java 1.8. Pdfbox 1.8.13 Windows and Linux > Reporter: Lucille Wilson > Labels: security > Attachments: 14-03-1159.pdf > > Original Estimate: 24h > Remaining Estimate: 24h > > Using the attached pdf, When running the pdf through > org.apache.pdfbox.pdmodel.encryption.SecurityHandler I get > BadPaddingException. > The exception occurs when it is processing > nextObj = COSObject{3304,0} I see: nextCOSBase = > COSDictionary{(COSName{Length}:COSInt{3504}) (COSName{Subtype}:COSName{XML}) > (COSName{Type}:COSName{Metadata}) } > The problem is that SecurityHandler.proceedDecryption() runs > decryptObject(nextObj); > and then decrypt(base, objNum, genNum) and then decryptStream() > However for this object decryptStream doesn't actually decrypt anything > because the type is xml. > So when decryptStream calls encryptData() encryptData() throws the bad packet > exception. > output.write(decryptCipher.doFinal()); throws the exception because the data > buffer is all zeros. It has nothing in it. I recommend that encryption be > skipped if the data buffer has all zeros. -- This message was sent by Atlassian JIRA (v6.4.14#64029) --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@pdfbox.apache.org For additional commands, e-mail: dev-h...@pdfbox.apache.org