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

Reply via email to