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 2015/05/03 23:08:24 UTC
svn commit: r1677484 - in
/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/encryption:
PublicKeySecurityHandler.java SecurityHandler.java
StandardSecurityHandler.java
Author: tilman
Date: Sun May 3 21:08:24 2015
New Revision: 1677484
URL: http://svn.apache.org/r1677484
Log:
PDFBOX-2576: refactored to make field currentAccessPermission private
Modified:
pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/encryption/PublicKeySecurityHandler.java
pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/encryption/SecurityHandler.java
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/PublicKeySecurityHandler.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/encryption/PublicKeySecurityHandler.java?rev=1677484&r1=1677483&r2=1677484&view=diff
==============================================================================
--- pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/encryption/PublicKeySecurityHandler.java (original)
+++ pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/encryption/PublicKeySecurityHandler.java Sun May 3 21:08:24 2015
@@ -207,8 +207,9 @@ public final class PublicKeySecurityHand
byte[] accessBytes = new byte[4];
System.arraycopy(envelopedData, 20, accessBytes, 0, 4);
- currentAccessPermission = new AccessPermission(accessBytes);
+ AccessPermission currentAccessPermission = new AccessPermission(accessBytes);
currentAccessPermission.setReadOnly();
+ setCurrentAccessPermission(currentAccessPermission);
// what we will put in the SHA1 = the seed + each byte contained in the recipients array
byte[] sha1Input = new byte[recipientFieldsLength + 20];
Modified: pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/encryption/SecurityHandler.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/encryption/SecurityHandler.java?rev=1677484&r1=1677483&r2=1677484&view=diff
==============================================================================
--- pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/encryption/SecurityHandler.java (original)
+++ pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/encryption/SecurityHandler.java Sun May 3 21:08:24 2015
@@ -89,7 +89,7 @@ public abstract class SecurityHandler
* The access permission granted to the current user for the document. These
* permissions are computed during decryption and are in read only mode.
*/
- protected AccessPermission currentAccessPermission = null;
+ private AccessPermission currentAccessPermission = null;
/**
* Set wether to decrypt meta data.
@@ -538,6 +538,16 @@ public abstract class SecurityHandler
}
/**
+ * Sets the access permissions.
+ *
+ * @param currentAccessPermission The access permissions to be set.
+ */
+ public void setCurrentAccessPermission(AccessPermission currentAccessPermission)
+ {
+ this.currentAccessPermission = currentAccessPermission;
+ }
+
+ /**
* Returns the access permissions that were computed during document decryption.
* The returned object is in read only mode.
*
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=1677484&r1=1677483&r2=1677484&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 Sun May 3 21:08:24 2015
@@ -193,12 +193,15 @@ public final class StandardSecurityHandl
ue = encryption.getUserEncryptionKey();
oe = encryption.getOwnerEncryptionKey();
}
+
+ AccessPermission currentAccessPermission;
if( isOwnerPassword(password.getBytes(passwordCharset), userKey, ownerKey,
dicPermissions, documentIDBytes, dicRevision,
dicLength, encryptMetadata) )
{
currentAccessPermission = AccessPermission.getOwnerAccessPermission();
+ setCurrentAccessPermission(currentAccessPermission);
byte[] computedPassword;
if (dicRevision == 6 || dicRevision == 5)
@@ -225,7 +228,9 @@ public final class StandardSecurityHandl
dicPermissions, documentIDBytes, dicRevision,
dicLength, encryptMetadata) )
{
- currentAccessPermission = new AccessPermission( dicPermissions );
+ currentAccessPermission = new AccessPermission(dicPermissions);
+ setCurrentAccessPermission(currentAccessPermission);
+
encryptionKey =
computeEncryptedKey(
password.getBytes(passwordCharset),