|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.apache.pdfbox.pdmodel.encryption.SecurityHandler
public abstract class SecurityHandler
This class represents a security handler as described in the PDF specifications. A security handler is responsible of documents protection.
Field Summary | |
---|---|
protected AccessPermission |
currentAccessPermission
The access permission granted to the current user for the document. |
protected PDDocument |
document
The document whose security is handled by this security handler. |
protected byte[] |
encryptionKey
The encryption key that will used to encrypt / decrypt. |
protected int |
keyLength
The length of the secret key used to encrypt the document. |
protected ARCFour |
rc4
The RC4 implementation used for cryptographic functions. |
protected int |
version
The value of V field of the Encryption dictionary. |
Constructor Summary | |
---|---|
SecurityHandler()
|
Method Summary | |
---|---|
abstract void |
decryptDocument(PDDocument doc,
DecryptionMaterial mat)
Prepare the document for decryption. |
void |
decryptStream(COSStream stream,
long objNum,
long genNum)
This will decrypt a stream. |
void |
decryptString(COSString string,
long objNum,
long genNum)
This will decrypt a string. |
void |
encryptData(long objectNumber,
long genNumber,
InputStream data,
OutputStream output)
Encrypt a set of data. |
AccessPermission |
getCurrentAccessPermission()
Returns the access permissions that were computed during document decryption. |
int |
getKeyLength()
Getter of the property keyLength. |
abstract void |
prepareDocumentForEncryption(PDDocument doc)
Prepare the document for encryption. |
protected void |
proceedDecryption()
This method must be called by an implementation of this class to really proceed to decryption. |
void |
setKeyLength(int keyLen)
Setter of the property keyLength. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
protected int version
protected int keyLength
protected byte[] encryptionKey
protected PDDocument document
protected ARCFour rc4
protected AccessPermission currentAccessPermission
Constructor Detail |
---|
public SecurityHandler()
Method Detail |
---|
public abstract void prepareDocumentForEncryption(PDDocument doc) throws CryptographyException, IOException
doc
- The document that will be encrypted.
CryptographyException
- If there is an error while preparing.
IOException
- If there is an error with the document.public abstract void decryptDocument(PDDocument doc, DecryptionMaterial mat) throws CryptographyException, IOException
doc
- The document to decrypt.mat
- Information required to decrypt the document.
CryptographyException
- If there is an error while preparing.
IOException
- If there is an error with the document.protected void proceedDecryption() throws IOException, CryptographyException
IOException
- If there is an error in the decryption.
CryptographyException
- If there is an error in the decryption.public void encryptData(long objectNumber, long genNumber, InputStream data, OutputStream output) throws CryptographyException, IOException
objectNumber
- The data object number.genNumber
- The data generation number.data
- The data to encrypt.output
- The output to write the encrypted data to.
CryptographyException
- If there is an error during the encryption.
IOException
- If there is an error reading the data.public void decryptStream(COSStream stream, long objNum, long genNum) throws CryptographyException, IOException
stream
- The stream to decrypt.objNum
- The object number.genNum
- The object generation number.
CryptographyException
- If there is an error getting the stream.
IOException
- If there is an error getting the stream data.public void decryptString(COSString string, long objNum, long genNum) throws CryptographyException, IOException
string
- the string to decrypt.objNum
- The object number.genNum
- The object generation number.
CryptographyException
- If an error occurs during decryption.
IOException
- If an error occurs writing the new string.public int getKeyLength()
public void setKeyLength(int keyLen)
keyLen
- The keyLength to set.public AccessPermission getCurrentAccessPermission()
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |