Class PublicKeySecurityHandler
- java.lang.Object
-
- org.apache.pdfbox.pdmodel.encryption.SecurityHandler
-
- org.apache.pdfbox.pdmodel.encryption.PublicKeySecurityHandler
-
public final class PublicKeySecurityHandler extends SecurityHandler
This class implements the public key security handler described in the PDF specification.- Author:
- Benoit Guillon
- See Also:
to see how to protect document with this security handler.
-
-
Field Summary
Fields Modifier and Type Field Description static java.lang.String
FILTER
The filter name.-
Fields inherited from class org.apache.pdfbox.pdmodel.encryption.SecurityHandler
encryptionKey, keyLength
-
-
Constructor Summary
Constructors Constructor Description PublicKeySecurityHandler()
Constructor.PublicKeySecurityHandler(PublicKeyProtectionPolicy p)
Constructor used for encryption.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description boolean
hasProtectionPolicy()
Returns whether a protection policy has been set.void
prepareDocumentForEncryption(PDDocument doc)
Prepare the document for encryption.void
prepareForDecryption(PDEncryption encryption, COSArray documentIDArray, DecryptionMaterial decryptionMaterial)
Prepares everything to decrypt the document.-
Methods inherited from class org.apache.pdfbox.pdmodel.encryption.SecurityHandler
decrypt, decryptStream, encryptDataRC4, encryptDataRC4, encryptStream, encryptString, getCurrentAccessPermission, getKeyLength, isAES, setAES, setCurrentAccessPermission, setDecryptMetadata, setKeyLength, setStreamFilterName, setStringFilterName
-
-
-
-
Field Detail
-
FILTER
public static final java.lang.String FILTER
The filter name.- See Also:
- Constant Field Values
-
-
Constructor Detail
-
PublicKeySecurityHandler
public PublicKeySecurityHandler()
Constructor.
-
PublicKeySecurityHandler
public PublicKeySecurityHandler(PublicKeyProtectionPolicy p)
Constructor used for encryption.- Parameters:
p
- The protection policy.
-
-
Method Detail
-
prepareForDecryption
public void prepareForDecryption(PDEncryption encryption, COSArray documentIDArray, DecryptionMaterial decryptionMaterial) throws java.io.IOException
Prepares everything to decrypt the document.- Specified by:
prepareForDecryption
in classSecurityHandler
- Parameters:
encryption
- encryption dictionary, can be retrieved viaPDDocument.getEncryption()
documentIDArray
- document id which is returned viaCOSDocument.getDocumentID()
(not used by this handler)decryptionMaterial
- Information used to decrypt the document.- Throws:
java.io.IOException
- If there is an error accessing data. If verbose mode is enabled, the exception message will provide more details why the match wasn't successful.
-
prepareDocumentForEncryption
public void prepareDocumentForEncryption(PDDocument doc) throws java.io.IOException
Prepare the document for encryption.- Specified by:
prepareDocumentForEncryption
in classSecurityHandler
- Parameters:
doc
- The document that will be encrypted.- Throws:
java.io.IOException
- If there is an error while encrypting.
-
hasProtectionPolicy
public boolean hasProtectionPolicy()
Returns whether a protection policy has been set.- Specified by:
hasProtectionPolicy
in classSecurityHandler
- Returns:
- true if a protection policy has been set.
-
-