You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pdfbox.apache.org by ti...@apache.org on 2020/09/19 08:59:27 UTC

svn commit: r1881841 - in /pdfbox/branches/2.0/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/encryption: PublicKeySecurityHandler.java SecurityHandler.java StandardSecurityHandler.java

Author: tilman
Date: Sat Sep 19 08:59:27 2020
New Revision: 1881841

URL: http://svn.apache.org/viewvc?rev=1881841&view=rev
Log:
PDFBOX-4421: user getters/setters for keyLength, as suggested by Christian Appl

Modified:
    pdfbox/branches/2.0/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/encryption/PublicKeySecurityHandler.java
    pdfbox/branches/2.0/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/encryption/SecurityHandler.java
    pdfbox/branches/2.0/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/encryption/StandardSecurityHandler.java

Modified: pdfbox/branches/2.0/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/encryption/PublicKeySecurityHandler.java
URL: http://svn.apache.org/viewvc/pdfbox/branches/2.0/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/encryption/PublicKeySecurityHandler.java?rev=1881841&r1=1881840&r2=1881841&view=diff
==============================================================================
--- pdfbox/branches/2.0/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/encryption/PublicKeySecurityHandler.java (original)
+++ pdfbox/branches/2.0/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/encryption/PublicKeySecurityHandler.java Sat Sep 19 08:59:27 2020
@@ -98,7 +98,7 @@ public final class PublicKeySecurityHand
     public PublicKeySecurityHandler(PublicKeyProtectionPolicy publicKeyProtectionPolicy)
     {
         setProtectionPolicy(publicKeyProtectionPolicy);
-        this.keyLength = publicKeyProtectionPolicy.getEncryptionKeyLength();
+        setKeyLength(publicKeyProtectionPolicy.getEncryptionKeyLength());
     }
 
     /**
@@ -269,8 +269,8 @@ public final class PublicKeySecurityHand
             }
 
             // we have the encryption key ...
-            encryptionKey = new byte[this.keyLength / 8];
-            System.arraycopy(mdResult, 0, encryptionKey, 0, this.keyLength / 8);
+            encryptionKey = new byte[getKeyLength() / 8];
+            System.arraycopy(mdResult, 0, encryptionKey, 0, getKeyLength() / 8);
         }
         catch (CMSException e)
         {
@@ -329,7 +329,7 @@ public final class PublicKeySecurityHand
             }
 
             dictionary.setFilter(FILTER);
-            dictionary.setLength(this.keyLength);
+            dictionary.setLength(getKeyLength());
             int version = computeVersionNumber();
             dictionary.setVersion(version);
 
@@ -397,8 +397,8 @@ public final class PublicKeySecurityHand
                     break;
             }
 
-            this.encryptionKey = new byte[this.keyLength/8];
-            System.arraycopy(mdResult, 0, this.encryptionKey, 0, this.keyLength/8);
+            this.encryptionKey = new byte[getKeyLength() / 8];
+            System.arraycopy(mdResult, 0, this.encryptionKey, 0, getKeyLength() / 8);
 
             doc.setEncryptionDictionary(dictionary);
             doc.getDocument().setEncryptionDictionary(dictionary.getCOSObject());
@@ -413,7 +413,7 @@ public final class PublicKeySecurityHand
     {
         PDCryptFilterDictionary cryptFilterDictionary = new PDCryptFilterDictionary();
         cryptFilterDictionary.setCryptFilterMethod(aesVName);
-        cryptFilterDictionary.setLength(keyLength);
+        cryptFilterDictionary.setLength(getKeyLength());
         COSArray array = new COSArray();
         for (byte[] recipient : recipients)
         {

Modified: pdfbox/branches/2.0/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/encryption/SecurityHandler.java
URL: http://svn.apache.org/viewvc/pdfbox/branches/2.0/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/encryption/SecurityHandler.java?rev=1881841&r1=1881840&r2=1881841&view=diff
==============================================================================
--- pdfbox/branches/2.0/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/encryption/SecurityHandler.java (original)
+++ pdfbox/branches/2.0/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/encryption/SecurityHandler.java Sat Sep 19 08:59:27 2020
@@ -66,7 +66,9 @@ public abstract class SecurityHandler
     // see 7.6.2, page 58, PDF 32000-1:2008
     private static final byte[] AES_SALT = { (byte) 0x73, (byte) 0x41, (byte) 0x6c, (byte) 0x54 };
 
-    /** The length in bits of the secret key used to encrypt the document. */
+    /**
+     * The length in bits of the secret key used to encrypt the document. Will become private in 3.0.
+     */
     protected int keyLength = DEFAULT_KEY_LENGTH;
 
     /** The encryption key that will used to encrypt / decrypt.*/

Modified: pdfbox/branches/2.0/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/encryption/StandardSecurityHandler.java
URL: http://svn.apache.org/viewvc/pdfbox/branches/2.0/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/encryption/StandardSecurityHandler.java?rev=1881841&r1=1881840&r2=1881841&view=diff
==============================================================================
--- pdfbox/branches/2.0/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/encryption/StandardSecurityHandler.java (original)
+++ pdfbox/branches/2.0/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/encryption/StandardSecurityHandler.java Sat Sep 19 08:59:27 2020
@@ -89,7 +89,7 @@ public final class StandardSecurityHandl
     public StandardSecurityHandler(StandardProtectionPolicy standardProtectionPolicy)
     {
         setProtectionPolicy(standardProtectionPolicy);
-        keyLength = standardProtectionPolicy.getEncryptionKeyLength();
+        setKeyLength(standardProtectionPolicy.getEncryptionKeyLength());
     }
 
     /**
@@ -344,7 +344,7 @@ public final class StandardSecurityHandl
             encryptionDictionary.removeV45filters();
         }
         encryptionDictionary.setRevision(revision);
-        encryptionDictionary.setLength(keyLength);
+        encryptionDictionary.setLength(getKeyLength());
 
         StandardProtectionPolicy protectionPolicy = (StandardProtectionPolicy) getProtectionPolicy();
         String ownerPassword = protectionPolicy.getOwnerPassword();
@@ -368,7 +368,7 @@ public final class StandardSecurityHandl
 
         encryptionDictionary.setPermissions(permissionInt);
 
-        int length = keyLength/8;
+        int length = getKeyLength()/8;
 
         if (revision == 6)
         {
@@ -527,7 +527,7 @@ public final class StandardSecurityHandl
     {
         PDCryptFilterDictionary cryptFilterDictionary = new PDCryptFilterDictionary();
         cryptFilterDictionary.setCryptFilterMethod(aesVName);
-        cryptFilterDictionary.setLength(keyLength);
+        cryptFilterDictionary.setLength(getKeyLength());
         encryptionDictionary.setStdCryptFilterDictionary(cryptFilterDictionary);
         encryptionDictionary.setStreamFilterName(COSName.STD_CF);
         encryptionDictionary.setStringFilterName(COSName.STD_CF);