Browse Source

FOP-2389: PDFEncryption: error when Password length>32

git-svn-id: https://svn.apache.org/repos/asf/xmlgraphics/fop/trunk@1608815 13f79535-47bb-0310-9956-ffa450edef68
tags/fop-2_0
Luis Bernardo 10 years ago
parent
commit
9dc7ab3cca
1 changed files with 7 additions and 3 deletions
  1. 7
    3
      src/java/org/apache/fop/pdf/PDFEncryptionJCE.java

+ 7
- 3
src/java/org/apache/fop/pdf/PDFEncryptionJCE.java View File

@@ -334,9 +334,13 @@ public final class PDFEncryptionJCE extends PDFObject implements PDFEncryption {
byte[] preparedPassword = new byte[finalLength];
try {
byte[] passwordBytes = password.getBytes("UTF-8");
System.arraycopy(passwordBytes, 0, preparedPassword, 0, passwordBytes.length);
System.arraycopy(padding, 0, preparedPassword, passwordBytes.length, finalLength
- passwordBytes.length);
if (passwordBytes.length >= finalLength) {
System.arraycopy(passwordBytes, 0, preparedPassword, 0, finalLength);
} else {
System.arraycopy(passwordBytes, 0, preparedPassword, 0, passwordBytes.length);
System.arraycopy(padding, 0, preparedPassword, passwordBytes.length, finalLength
- passwordBytes.length);
}
return preparedPassword;
} catch (UnsupportedEncodingException e) {
throw new UnsupportedOperationException(e);

Loading…
Cancel
Save