Class SecurityHandler
- java.lang.Object
-
- com.itextpdf.kernel.crypto.securityhandler.SecurityHandler
-
- Direct Known Subclasses:
PubKeySecurityHandler
,StandardSecurityHandler
public abstract class SecurityHandler extends java.lang.Object
-
-
Field Summary
Fields Modifier and Type Field Description protected byte[]
extra
Work area to prepare the object/generation bytesprivate static IBouncyCastleFactory
FACTORY
private static org.slf4j.Logger
LOGGER
protected java.security.MessageDigest
md5
protected byte[]
mkey
The global encryption keyprotected byte[]
nextObjectKey
The encryption key for a particular object/generation.protected int
nextObjectKeySize
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
Constructors Modifier Constructor Description protected
SecurityHandler()
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description abstract IDecryptor
getDecryptor()
abstract OutputStreamEncryption
getEncryptionStream(java.io.OutputStream os)
private void
safeInitMessageDigest()
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 Detail
-
FACTORY
private static final IBouncyCastleFactory FACTORY
-
LOGGER
private static final org.slf4j.Logger LOGGER
-
mkey
protected byte[] mkey
The global encryption key
-
nextObjectKey
protected byte[] nextObjectKey
The 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 nextObjectKeySize
The encryption key length for a particular object/generation It is recalculated withsetHashKeyForNextObject(int, int)
for every object individually based in its object/generation.
-
md5
protected java.security.MessageDigest md5
-
extra
protected byte[] extra
Work area to prepare the object/generation bytes
-
-
Method Detail
-
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 encryptionobjGeneration
- generation of particular object for encryption
-
getEncryptionStream
public abstract OutputStreamEncryption getEncryptionStream(java.io.OutputStream os)
-
getDecryptor
public abstract IDecryptor getDecryptor()
-
safeInitMessageDigest
private void safeInitMessageDigest()
-
-