[
https://issues.apache.org/jira/browse/PDFBOX-3889?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16120162#comment-16120162
]
Tilman Hausherr commented on PDFBOX-3889:
-----------------------------------------
If you want to use the owner password (despite that your file opens with the
empty user password), then you need to pass it to loadNonSeq, e.g.
{code}
PDDocument.loadNonSeq(file, raf, password);
{code}
Do not call decrypt.
> 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: [email protected]
For additional commands, e-mail: [email protected]