You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pdfbox.apache.org by ja...@apache.org on 2014/03/12 22:24:27 UTC

svn commit: r1576920 - /pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/encryption/StandardSecurityHandler.java

Author: jahewson
Date: Wed Mar 12 21:24:27 2014
New Revision: 1576920

URL: http://svn.apache.org/r1576920
Log:
PDFBOX-1981: CryptographyException for file that isn't encrypted

Modified:
    pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/encryption/StandardSecurityHandler.java

Modified: pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/encryption/StandardSecurityHandler.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/encryption/StandardSecurityHandler.java?rev=1576920&r1=1576919&r2=1576920&view=diff
==============================================================================
--- pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/encryption/StandardSecurityHandler.java (original)
+++ pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/encryption/StandardSecurityHandler.java Wed Mar 12 21:24:27 2014
@@ -652,14 +652,15 @@ public final class StandardSecurityHandl
         }
         else if( encRevision == 3 || encRevision == 4 )
         {
-            return Arrays.equals( user, passwordBytes ) && user.length >= 16;
+            // compare first 16 bytes only
+            return Arrays.equals(Arrays.copyOf(user, 16), Arrays.copyOf(passwordBytes, 16));
         }
         else
         {
             throw new IOException( "Unknown Encryption Revision " + encRevision );
         }
     }
-    
+
     /**
      * Check if a plaintext password is the user password.
      *