Class PubSecHandlerUsingAesGcm
java.lang.Object
com.itextpdf.kernel.crypto.securityhandler.SecurityHandler
com.itextpdf.kernel.crypto.securityhandler.PubKeySecurityHandler
com.itextpdf.kernel.crypto.securityhandler.PubSecHandlerUsingAes128
com.itextpdf.kernel.crypto.securityhandler.PubSecHandlerUsingAes256
com.itextpdf.kernel.crypto.securityhandler.PubSecHandlerUsingAesGcm
Public-key security handler with Advanced Encryption Standard-Galois/Counter Mode (AES-GCM) encryption algorithm.
-
Field Summary
FieldsFields inherited from class com.itextpdf.kernel.crypto.securityhandler.SecurityHandler
extra, md5, mkey, nextObjectKey, nextObjectKeySize -
Constructor Summary
ConstructorsConstructorDescriptionPubSecHandlerUsingAesGcm(PdfDictionary encryptionDictionary, Certificate[] certs, int[] permissions, boolean encryptMetadata, boolean embeddedFilesOnly) Creates newPubSecHandlerUsingAesGcminstance for encryption.PubSecHandlerUsingAesGcm(PdfDictionary encryptionDictionary, Key certificateKey, Certificate certificate, String certificateKeyProvider, IExternalDecryptionProcess externalDecryptionProcess, boolean encryptMetadata) Creates newPubSecHandlerUsingAesGcminstance for decryption. -
Method Summary
Modifier and TypeMethodDescriptionGets decryptor object.Gets a stream wrapper, responsible for encryption.protected voidInit md5 message digest.voidsetHashKeyForNextObject(int objNumber, int objGeneration) Note: For most of the supported security handlers algorithm to calculate encryption key for particular object is the same.protected voidsetPubSecSpecificHandlerDicEntries(PdfDictionary encryptionDictionary, boolean encryptMetadata, boolean embeddedFilesOnly) Methods inherited from class com.itextpdf.kernel.crypto.securityhandler.PubSecHandlerUsingAes256
getDigestAlgorithm, initKeyMethods inherited from class com.itextpdf.kernel.crypto.securityhandler.PubKeySecurityHandler
addAllRecipients, computeGlobalKey, computeGlobalKeyOnReading, createRecipientsArray, initKeyAndFillDictionary, initKeyAndReadDictionaryMethods inherited from class com.itextpdf.kernel.crypto.securityhandler.SecurityHandler
getMkey, getNextObjectKey
-
Field Details
-
noncePart
protected byte[] noncePart -
inObjectNonceCounter
protected int inObjectNonceCounter
-
-
Constructor Details
-
PubSecHandlerUsingAesGcm
public PubSecHandlerUsingAesGcm(PdfDictionary encryptionDictionary, Certificate[] certs, int[] permissions, boolean encryptMetadata, boolean embeddedFilesOnly) Creates newPubSecHandlerUsingAesGcminstance for encryption.- Parameters:
-
encryptionDictionary- document's encryption dictionary -
certs- recipients' X.509 public key certificates -
permissions- access permissions provided to each recipient -
encryptMetadata- indicates whether the document-level metadata stream shall be encrypted -
embeddedFilesOnly- indicates whether embedded files shall be encrypted in an otherwise unencrypted document
-
PubSecHandlerUsingAesGcm
public PubSecHandlerUsingAesGcm(PdfDictionary encryptionDictionary, Key certificateKey, Certificate certificate, String certificateKeyProvider, IExternalDecryptionProcess externalDecryptionProcess, boolean encryptMetadata) Creates newPubSecHandlerUsingAesGcminstance for decryption.- Parameters:
-
encryptionDictionary- document's encryption dictionary -
certificateKey- the recipient privateKeyto the certificate -
certificate- the recipientCertificate, serves as recipient identifier -
certificateKeyProvider- the certificate key provider id forSecurity.getProvider(String) -
externalDecryptionProcess- the external decryption process to be used -
encryptMetadata- indicates whether the document-level metadata stream shall be encrypted
-
-
Method Details
-
setHashKeyForNextObject
public void setHashKeyForNextObject(int objNumber, int objGeneration) Description copied from class:SecurityHandlerNote: For most of the supported security handlers algorithm to calculate encryption key for particular object is the same.- Overrides:
-
setHashKeyForNextObjectin classPubSecHandlerUsingAes256 - Parameters:
-
objNumber- number of particular object for encryption -
objGeneration- generation of particular object for encryption
-
getEncryptionStream
Description copied from class:SecurityHandlerGets a stream wrapper, responsible for encryption.- Overrides:
-
getEncryptionStreamin classPubSecHandlerUsingAes128 - Parameters:
-
os-OutputStreamto be wrapped - Returns:
-
OutputStreamEncryption, responsible for encryption.
-
getDecryptor
Description copied from class:SecurityHandlerGets decryptor object.- Overrides:
-
getDecryptorin classPubSecHandlerUsingAes128 - Returns:
-
IDecryptor
-
setPubSecSpecificHandlerDicEntries
protected void setPubSecSpecificHandlerDicEntries(PdfDictionary encryptionDictionary, boolean encryptMetadata, boolean embeddedFilesOnly) - Overrides:
-
setPubSecSpecificHandlerDicEntriesin classPubSecHandlerUsingAes256
-
initMd5MessageDigest
protected void initMd5MessageDigest()Init md5 message digest.- Overrides:
-
initMd5MessageDigestin classPubSecHandlerUsingAes256
-