You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pdfbox.apache.org by le...@apache.org on 2014/05/14 18:57:37 UTC
svn commit: r1594639 -
/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/encryption/SecurityHandler.java
Author: lehmi
Date: Wed May 14 16:57:37 2014
New Revision: 1594639
URL: http://svn.apache.org/r1594639
Log:
PDFBOX-1895: decrypt dictionaries recursive
Modified:
pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/encryption/SecurityHandler.java
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=1594639&r1=1594638&r2=1594639&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 Wed May 14 16:57:37 2014
@@ -449,15 +449,15 @@ public abstract class SecurityHandler
for (Map.Entry<COSName, COSBase> entry : dictionary.entrySet())
{
COSBase value = entry.getValue();
- // within a dictionary only strings and streams have to be decrypted
- if (value instanceof COSString || value instanceof COSStream || value instanceof COSArray)
+ // within a dictionary only the following kind of COS objects have to be decrypted
+ if (value instanceof COSString || value instanceof COSStream || value instanceof COSArray || value instanceof COSDictionary)
{
// if we are a signature dictionary and contain a Contents entry then
// we don't decrypt it.
- if (!(entry.getKey().getName().equals("Contents") && value instanceof COSString && potentialSignatures
+ if (!(entry.getKey().equals(COSName.CONTENTS) && value instanceof COSString && potentialSignatures
.contains(dictionary)))
{
- decrypt(entry.getValue(), objNum, genNum);
+ decrypt(value, objNum, genNum);
}
}
}