public class PDEncryption
extends com.pd4ml.pdf.parser.obj.DictObject
Modifier and Type | Field and Description |
---|---|
static int |
DEFAULT_LENGTH
The default length for the encryption key.
|
static String |
DEFAULT_NAME
The default security handler.
|
static int |
DEFAULT_VERSION
The default version, according to the PDF Reference.
|
static int |
VERSION0_UNDOCUMENTED_UNSUPPORTED
See PDF Reference 1.4 Table 3.13.
|
static int |
VERSION1_40_BIT_ALGORITHM
See PDF Reference 1.4 Table 3.13.
|
static int |
VERSION2_VARIABLE_LENGTH_ALGORITHM
See PDF Reference 1.4 Table 3.13.
|
static int |
VERSION3_UNPUBLISHED_ALGORITHM
See PDF Reference 1.4 Table 3.13.
|
static int |
VERSION4_SECURITY_HANDLER
See PDF Reference 1.4 Table 3.13.
|
Constructor and Description |
---|
PDEncryption(com.pd4ml.pdf.parser.obj.DictObject dict)
wraps given DictObject
|
PDEncryption(com.pd4ml.pdf.parser.Objects xref)
creates a new empty encryption dictionary.
|
Modifier and Type | Method and Description |
---|---|
PDCryptFilterDictionary |
getCryptFilterDictionary(String cryptFilterName)
Returns the crypt filter with the given name.
|
PDCryptFilterDictionary |
getDefaultCryptFilterDictionary()
Returns the default crypt filter (for public-key security handler).
|
com.pd4ml.pdf.parser.obj.Name |
getFilter()
Get the name of the filter.
|
int |
getLength()
This will return the Length entry of the encryption dictionary.
The length in bits for the encryption algorithm. |
byte[] |
getOwnerEncryptionKey()
This will get the OE entry in the standard encryption dictionary.
|
byte[] |
getOwnerKey()
This will get the O entry in the standard encryption dictionary.
|
int |
getPermissions()
This will get the permissions bit mask.
|
byte[] |
getPerms()
Get the Perms entry in the encryption dictionary.
|
int |
getRecipientsLength()
Returns the number of recipients contained in the Recipients field of the
dictionary.
|
com.pd4ml.pdf.parser.obj.Str |
getRecipientStringAt(int i)
returns the COSString contained in the Recipients field at position i.
|
int |
getRevision()
This will return the R entry of the encryption dictionary.
See PDF Reference 1.4 Table 3.14. |
PDCryptFilterDictionary |
getStdCryptFilterDictionary()
Returns the standard crypt filter.
|
String |
getStreamFilterName()
Returns the name of the filter which is used for de/encrypting streams.
|
String |
getStringFilterName()
Returns the name of the filter which is used for de/encrypting strings.
|
com.pd4ml.pdf.parser.obj.Name |
getSubFilter()
Get the name of the subfilter.
|
byte[] |
getUserEncryptionKey()
This will get the UE entry in the standard encryption dictionary.
|
byte[] |
getUserKey()
This will get the U entry in the standard encryption dictionary.
|
int |
getVersion()
This will return the V entry of the encryption dictionary.
See PDF Reference 1.4 Table 3.13. |
boolean |
isEncryptMetaData()
Will get the EncryptMetaData dictionary info.
|
void |
removeV45filters()
remove CF, StmF, and StrF entries.
|
void |
setCryptFilterDictionary(String cryptFilterName,
PDCryptFilterDictionary cryptFilterDictionary)
Sets the crypt filter with the given name.
|
void |
setDefaultCryptFilterDictionary(PDCryptFilterDictionary defaultFilterDictionary)
Sets the default crypt filter (for public-key security handler).
|
void |
setFilter(String filter)
Sets the filter entry of the encryption dictionary.
|
void |
setLength(int length)
This will set the number of bits to use for the encryption algorithm.
|
void |
setOwnerEncryptionKey(byte[] oe)
This will set the OE entry in the standard encryption dictionary.
|
void |
setOwnerKey(byte[] o)
This will set the O entry in the standard encryption dictionary.
|
void |
setPermissions(int permissions)
This will set the permissions bit mask.
|
void |
setPerms(byte[] perms)
Set the Perms entry in the encryption dictionary.
|
void |
setRecipients(byte[][] recipients)
This will set the Recipients field of the dictionary.
|
void |
setRevision(int revision)
This will set the R entry of the encryption dictionary.
See PDF Reference 1.4 Table 3.14. |
void |
setStdCryptFilterDictionary(PDCryptFilterDictionary cryptFilterDictionary)
Sets the standard crypt filter.
|
void |
setStreamFilterName(String streamFilterName)
Sets the name of the filter which is used for de/encrypting streams.
|
void |
setStringFilterName(String stringFilterName)
Sets the name of the filter which is used for de/encrypting strings.
|
void |
setSubFilter(String subfilter)
Set the subfilter entry of the encryption dictionary.
|
void |
setUserEncryptionKey(byte[] ue)
This will set the UE entry in the standard encryption dictionary.
|
void |
setUserKey(byte[] u)
This will set the U entry in the standard encryption dictionary.
|
void |
setVersion(int version)
This will set the V entry of the encryption dictionary.
See PDF Reference 1.4 Table 3.13. |
addAll, addEntry, assignXref, equals, get, get, get, getInt, getInt, getObject, getPageObjects, getType, has, isEmpty, remove, set, setToBeWritten, toString, touch, values, write
public static final int VERSION0_UNDOCUMENTED_UNSUPPORTED
public static final int VERSION1_40_BIT_ALGORITHM
public static final int VERSION2_VARIABLE_LENGTH_ALGORITHM
public static final int VERSION3_UNPUBLISHED_ALGORITHM
public static final int VERSION4_SECURITY_HANDLER
public static final String DEFAULT_NAME
public static final int DEFAULT_LENGTH
public static final int DEFAULT_VERSION
public PDEncryption(com.pd4ml.pdf.parser.Objects xref)
xref
- xreferencepublic PDEncryption(com.pd4ml.pdf.parser.obj.DictObject dict)
dict
- encryption dictionary objectpublic void setFilter(String filter)
filter
- The filter name.public final com.pd4ml.pdf.parser.obj.Name getFilter()
public com.pd4ml.pdf.parser.obj.Name getSubFilter()
public void setSubFilter(String subfilter)
subfilter
- The value of the subfilter field.public void setVersion(int version)
version
- The new encryption version.public int getVersion()
public void setLength(int length)
length
- The new key length.public int getLength()
public void setRevision(int revision)
revision
- The new encryption version.public int getRevision()
public void setOwnerKey(byte[] o) throws IOException
o
- A 32 byte array or null if there is no owner key.IOException
- If there is an error setting the data.public byte[] getOwnerKey() throws IOException
IOException
- If there is an error accessing the data.public void setUserKey(byte[] u) throws IOException
u
- A 32 byte array.IOException
- If there is an error setting the data.public byte[] getUserKey() throws IOException
IOException
- If there is an error accessing the data.public void setOwnerEncryptionKey(byte[] oe) throws IOException
oe
- A 32 byte array or null if there is no owner encryption key.IOException
- If there is an error setting the data.public byte[] getOwnerEncryptionKey() throws IOException
IOException
- If there is an error accessing the data.public void setUserEncryptionKey(byte[] ue) throws IOException
ue
- A 32 byte array or null if there is no user encryption key.IOException
- If there is an error setting the data.public byte[] getUserEncryptionKey() throws IOException
IOException
- If there is an error accessing the data.public void setPermissions(int permissions)
permissions
- The new permissions bit maskpublic int getPermissions()
public boolean isEncryptMetaData()
public void setRecipients(byte[][] recipients) throws IOException
recipients
- the array of bytes arrays to put in the Recipients field.IOException
- If there is an error setting the data.public int getRecipientsLength()
public com.pd4ml.pdf.parser.obj.Str getRecipientStringAt(int i)
i
- the position in the Recipients field array.public PDCryptFilterDictionary getStdCryptFilterDictionary()
public PDCryptFilterDictionary getDefaultCryptFilterDictionary()
public PDCryptFilterDictionary getCryptFilterDictionary(String cryptFilterName)
cryptFilterName
- the name of the crypt filterpublic void setCryptFilterDictionary(String cryptFilterName, PDCryptFilterDictionary cryptFilterDictionary)
cryptFilterName
- the name of the crypt filtercryptFilterDictionary
- the crypt filter to setpublic void setStdCryptFilterDictionary(PDCryptFilterDictionary cryptFilterDictionary)
cryptFilterDictionary
- the standard crypt filter to setpublic void setDefaultCryptFilterDictionary(PDCryptFilterDictionary defaultFilterDictionary)
defaultFilterDictionary
- the standard crypt filter to setpublic String getStreamFilterName()
public void setStreamFilterName(String streamFilterName)
streamFilterName
- the name of the filterpublic String getStringFilterName()
public void setStringFilterName(String stringFilterName)
stringFilterName
- the name of the filterpublic void setPerms(byte[] perms) throws IOException
perms
- A 16 byte array.IOException
- If there is an error setting the data.public byte[] getPerms() throws IOException
IOException
- If there is an error accessing the data.public void removeV45filters()
Revision 4.1.0 / 20211203-0554