public class PDFDecrypterFactory
extends java.lang.Object
PDFDecrypter
for documents given a (possibly non-existent)
Encrypt dictionary. Supports decryption of versions 1, 2 and 4 of the
password-based encryption mechanisms as described in PDF Reference version
1.7. This means that it supports RC4 and AES encryption with keys of
40-128 bits; esentially, password-protected documents with compatibility
up to Acrobat 8.Modifier and Type | Field and Description |
---|---|
static java.lang.String |
CF_IDENTITY
The name of the standard Identity CryptFilter
|
Constructor and Description |
---|
PDFDecrypterFactory() |
Modifier and Type | Method and Description |
---|---|
static PDFDecrypter |
createDecryptor(PDFObject encryptDict,
PDFObject documentId,
PDFPassword password)
Create a decryptor for a given encryption dictionary.
|
public static final java.lang.String CF_IDENTITY
public static PDFDecrypter createDecryptor(PDFObject encryptDict, PDFObject documentId, PDFPassword password) throws java.io.IOException, EncryptionUnsupportedByPlatformException, EncryptionUnsupportedByProductException, PDFAuthenticationFailureException
encryptDict
- the Encrypt dict as found in the document's trailer.
May be null, in which case the IdentityDecrypter
will
be returned.documentId
- the object with key "ID" in the trailer's dictionary.
Should always be present if Encrypt is.password
- the password to use; may be null
java.io.IOException
- will typically be a PDFParseException
, indicating an IO problem, an error
in the structure of the document, or a failure to obtain various ciphers
from the installed JCE providersEncryptionUnsupportedByPlatformException
- if the encryption
is not supported by the environment in which the code is executingEncryptionUnsupportedByProductException
- if PDFRenderer does
not currently support the specified encryptionPDFAuthenticationFailureException
- if the supplied password
was not able to