[ 
https://issues.apache.org/jira/browse/PDFBOX-2341?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Tilman Hausherr resolved PDFBOX-2341.
-------------------------------------
    Resolution: Won't Fix
      Assignee: Tilman Hausherr

The old parser works as described, I traced through it, saved intermediate 
files etc. What really happened is a border case that can't be solved without 
creating trouble elsewhere: the encrypted stream has a hex 0D at the end. In 
the sequential parser that 0x0D isn't taken into the stream because it is 
assumed that it doesn't belong to it, i.e. one expects "stream-data 0D 0A 
endstream", or "stream-data 0D endstream". The non-sequential parser just takes 
the stream according to the length.

To prove that theory I changed your file so that there is one 0D more in the 
stream. Now it works with the sequential parser. This suggests that this 
missing 0D has a meaning for the decryption routine. I also did the opposite 
test, changed the length of the stream so that 0D isn't included, and not it 
failed with the nonsequential parser.

So long story in short: use nonseq :-)

> WriteDecodedDoc cant decrypt pdf correctly
> ------------------------------------------
>
>                 Key: PDFBOX-2341
>                 URL: https://issues.apache.org/jira/browse/PDFBOX-2341
>             Project: PDFBox
>          Issue Type: Bug
>          Components: Parsing
>    Affects Versions: 2.0.0
>            Reporter: simon steiner
>            Assignee: Tilman Hausherr
>         Attachments: aes256_57.pdf
>
>
> java -jar ~/pdf-box-svn/app/target/pdfbox-app-2.0.0-SNAPSHOT.jar 
> WriteDecodedDoc aes256_57.pdf tmp.pdf
> "Kind Regards" missing
> I guess you will ask me to use nonseq



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

Reply via email to