Lucille Wilson created PDFBOX-3889: -------------------------------------- Summary: 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 Fix For: 1.8.13 Attachments: 14-03-1159.pdf
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