Class SecurityHandler
java.lang.Object
com.itextpdf.kernel.crypto.securityhandler.SecurityHandler
- Direct Known Subclasses:
-
PubKeySecurityHandler
,StandardSecurityHandler
-
Field Summary
Modifier and TypeFieldDescriptionprotected byte[]
Work area to prepare the object/generation bytesprotected MessageDigest
protected byte[]
The global encryption keyprotected byte[]
The encryption key for a particular object/generation.protected int
The encryption key length for a particular object/generation It is recalculated withsetHashKeyForNextObject(int, int)
for every object individually based in its object/generation. -
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionabstract IDecryptor
Gets decryptor object.abstract OutputStreamEncryption
Gets a stream wrapper, responsible for encryption.byte[]
getMkey()
Gets global encryption key.byte[]
Gets encryption key for a particular object/generation.void
setHashKeyForNextObject
(int objNumber, int objGeneration) Note: For most of the supported security handlers algorithm to calculate encryption key for particular object is the same.
-
Field Details
-
mkey
protected byte[] mkeyThe global encryption key -
nextObjectKey
protected byte[] nextObjectKeyThe encryption key for a particular object/generation. It is recalculated withsetHashKeyForNextObject(int, int)
for every object individually based in its object/generation. -
nextObjectKeySize
protected int nextObjectKeySizeThe encryption key length for a particular object/generation It is recalculated withsetHashKeyForNextObject(int, int)
for every object individually based in its object/generation. -
md5
-
extra
protected byte[] extraWork area to prepare the object/generation bytes
-
-
Constructor Details
-
SecurityHandler
protected SecurityHandler()
-
-
Method Details
-
setHashKeyForNextObject
public void setHashKeyForNextObject(int objNumber, int objGeneration) Note: For most of the supported security handlers algorithm to calculate encryption key for particular object is the same.- Parameters:
-
objNumber
- number of particular object for encryption -
objGeneration
- generation of particular object for encryption
-
getEncryptionStream
Gets a stream wrapper, responsible for encryption.- Parameters:
-
os
-OutputStream
to be wrapped - Returns:
-
OutputStreamEncryption
, responsible for encryption.
-
getDecryptor
Gets decryptor object.- Returns:
-
IDecryptor
-
getNextObjectKey
public byte[] getNextObjectKey()Gets encryption key for a particular object/generation.- Returns:
- encryption key for a particular object/generation.
-
getMkey
public byte[] getMkey()Gets global encryption key.- Returns:
- global encryption key.
-