[ 
https://issues.apache.org/jira/browse/PDFBOX-4660?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16939356#comment-16939356
 ] 

Michael Klink commented on PDFBOX-4660:
---------------------------------------

Other than that ISO 32000-2 has clarified for the older encryption versions:
{panel:title=Section 7.6.4.3.2 Algorithm 2: Computing a file encryption key in 
order to encrypt a document (revision 4 and earlier)}
The password string is generated from host system codepage characters (or 
system scripts) by first converting the string to *PDFDocEncoding*. If the 
input is Unicode, first convert to a codepage encoding, and then to 
*PDFDocEncoding* for backward compatibility
{panel}
To me this appears to imply that many _special national characters_ will 
eventually be mapped to '?', many because of the reduction to *PDFDocEncoding* 
and some more due to the detour via _a codepage encoding_ which depends on the 
computer the software is run on.

In particular, if you encrypt with a password with _special national 
characters_ which are present in the local codepage and in *PDFDocEncoding* and 
someone in another Locale with a different codepage on which those characters 
aren't present, that person cannot decrypt the file.

[~tilman] - thus, what you reproduced may still differ from what can be 
observed in [~fastcoretux]' locale...

In other words, don't ever use non-ASCII characters in a password for a 
_revision 4 and earlier_ PDF encryption unless you want decryption trouble.

> Can't decrypt PDF when password contains special national characters
> --------------------------------------------------------------------
>
>                 Key: PDFBOX-4660
>                 URL: https://issues.apache.org/jira/browse/PDFBOX-4660
>             Project: PDFBox
>          Issue Type: Bug
>          Components: Crypto
>    Affects Versions: 2.0.17
>            Reporter: Fastcore Tux
>            Priority: Major
>
> I tried to encrypt PDF by user password which contains national characters. 
> Encryption was successful but I can't open it and decrypt it in any PDF 
> browser.
> Due to Cookbook example 
> (https://pdfbox.apache.org/2.0/cookbook/encryption.html) it could be tested 
> by changing StandardProtectionPolicy instantiation.
> {code:java}
> StandardProtectionPolicy spp = new StandardProtectionPolicy("ěšč", "řžý", ap);
> {code}
> Maybe my usage is wrong... In this case please accept my apology.
> Thank you!
>  



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@pdfbox.apache.org
For additional commands, e-mail: dev-h...@pdfbox.apache.org

Reply via email to