public final class PDFEncryption
extends java.lang.Object
StandardSecurityHandler
Modifier and Type | Field | Description |
---|---|---|
static byte[] |
ENCRYPT_PADDING |
Deprecated.
The encryption padding defined in the PDF 1.4 Spec algorithm 3.2.
|
Constructor | Description |
---|---|
PDFEncryption() |
Deprecated.
|
Modifier and Type | Method | Description |
---|---|---|
byte[] |
computeEncryptedKey(byte[] password,
byte[] o,
int permissions,
byte[] id,
int revision,
int length) |
Deprecated.
This will compute the encrypted key.
|
byte[] |
computeOwnerPassword(byte[] ownerPassword,
byte[] userPassword,
int revision,
int length) |
Deprecated.
This algorithm is taked from PDF Reference 1.4 Algorithm 3.3 Page 79.
|
byte[] |
computeUserPassword(byte[] password,
byte[] o,
int permissions,
byte[] id,
int revision,
int length) |
Deprecated.
This will compute the user password hash.
|
void |
encryptData(long objectNumber,
long genNumber,
byte[] key,
java.io.InputStream data,
java.io.OutputStream output) |
Deprecated.
This will encrypt a piece of data.
|
byte[] |
getUserPassword(byte[] ownerPassword,
byte[] o,
int revision,
long length) |
Deprecated.
This will get the user password from the owner password and the documents o value.
|
boolean |
isOwnerPassword(byte[] ownerPassword,
byte[] u,
byte[] o,
int permissions,
byte[] id,
int revision,
int length) |
Deprecated.
This will tell if this is the owner password or not.
|
boolean |
isUserPassword(byte[] password,
byte[] u,
byte[] o,
int permissions,
byte[] id,
int revision,
int length) |
Deprecated.
This will tell if this is a valid user password.
|
public static final byte[] ENCRYPT_PADDING
public final void encryptData(long objectNumber, long genNumber, byte[] key, java.io.InputStream data, java.io.OutputStream output) throws CryptographyException, java.io.IOException
objectNumber
- The id for the object.genNumber
- The generation id for the object.key
- The key used to encrypt the data.data
- The data to encrypt/decrypt.output
- The stream to write to.CryptographyException
- If there is an error encrypting the data.java.io.IOException
- If there is an io error.public final byte[] getUserPassword(byte[] ownerPassword, byte[] o, int revision, long length) throws CryptographyException, java.io.IOException
ownerPassword
- The plaintext owner password.o
- The document's o entry.revision
- The document revision number.length
- The length of the encryption.CryptographyException
- If there is an error getting the user password.java.io.IOException
- If there is an error reading data.public final boolean isOwnerPassword(byte[] ownerPassword, byte[] u, byte[] o, int permissions, byte[] id, int revision, int length) throws CryptographyException, java.io.IOException
ownerPassword
- The plaintext owner password.u
- The U value from the PDF Document.o
- The owner password hash.permissions
- The document permissions.id
- The document id.revision
- The revision of the encryption.length
- The length of the encryption key.CryptographyException
- If there is an error while executing crypt functions.java.io.IOException
- If there is an error while checking owner password.public final boolean isUserPassword(byte[] password, byte[] u, byte[] o, int permissions, byte[] id, int revision, int length) throws CryptographyException, java.io.IOException
password
- The password to test.u
- The U value from the PDF Document.o
- The owner password hash.permissions
- The document permissions.id
- The document id.revision
- The revision of the encryption.length
- The length of the encryption key.CryptographyException
- If there is an error computing the value.java.io.IOException
- If there is an IO error while computing the owners password.public final byte[] computeUserPassword(byte[] password, byte[] o, int permissions, byte[] id, int revision, int length) throws CryptographyException, java.io.IOException
password
- The plain text password.o
- The owner password hash.permissions
- The document permissions.id
- The document id.revision
- The revision of the encryption.length
- The length of the encryption key.CryptographyException
- If there is an error computing the user password.java.io.IOException
- If there is an IO error.public final byte[] computeEncryptedKey(byte[] password, byte[] o, int permissions, byte[] id, int revision, int length) throws CryptographyException
password
- The password used to compute the encrypted key.o
- The owner password hash.permissions
- The permissions for the document.id
- The document id.revision
- The security revision.length
- The length of the encryption key.CryptographyException
- If there is an error computing the key.public final byte[] computeOwnerPassword(byte[] ownerPassword, byte[] userPassword, int revision, int length) throws CryptographyException, java.io.IOException
ownerPassword
- The plain owner password.userPassword
- The plain user password.revision
- The version of the security.length
- The length of the document.CryptographyException
- If there is an error computing O.java.io.IOException
- If there is an error computing O.