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 class PubSecHandlerUsingAesGcm extends PubSecHandlerUsingAes256
Public-key security handler with Advanced Encryption Standard-Galois/Counter Mode (AES-GCM) encryption algorithm.
-
-
Field Summary
Fields Modifier and Type Field Description protected intinObjectNonceCounterprotected byte[]noncePart-
Fields inherited from class com.itextpdf.kernel.crypto.securityhandler.SecurityHandler
extra, md5, mkey, nextObjectKey, nextObjectKeySize
-
-
Constructor Summary
Constructors Constructor Description PubSecHandlerUsingAesGcm(PdfDictionary encryptionDictionary, java.security.cert.Certificate[] certs, int[] permissions, boolean encryptMetadata, boolean embeddedFilesOnly)Creates newPubSecHandlerUsingAesGcminstance for encryption.PubSecHandlerUsingAesGcm(PdfDictionary encryptionDictionary, java.security.Key certificateKey, java.security.cert.Certificate certificate, java.lang.String certificateKeyProvider, IExternalDecryptionProcess externalDecryptionProcess, boolean encryptMetadata)Creates newPubSecHandlerUsingAesGcminstance for decryption.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description IDecryptorgetDecryptor()Gets decryptor object.OutputStreamEncryptiongetEncryptionStream(java.io.OutputStream os)Gets a stream wrapper, responsible for encryption.protected voidinitMd5MessageDigest()Init 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, initKey, setEncryptionDictEntries
-
Methods inherited from class com.itextpdf.kernel.crypto.securityhandler.PubKeySecurityHandler
addAllRecipients, computeGlobalKey, computeGlobalKeyOnReading, createRecipientsArray, initKeyAndFillDictionary, initKeyAndReadDictionary
-
Methods inherited from class com.itextpdf.kernel.crypto.securityhandler.SecurityHandler
getMkey, getNextObjectKey
-
-
-
-
Constructor Detail
-
PubSecHandlerUsingAesGcm
public PubSecHandlerUsingAesGcm(PdfDictionary encryptionDictionary, java.security.cert.Certificate[] certs, int[] permissions, boolean encryptMetadata, boolean embeddedFilesOnly)
Creates newPubSecHandlerUsingAesGcminstance for encryption.- Parameters:
encryptionDictionary- document's encryption dictionarycerts- recipients' X.509 public key certificatespermissions- access permissions provided to each recipientencryptMetadata- indicates whether the document-level metadata stream shall be encryptedembeddedFilesOnly- indicates whether embedded files shall be encrypted in an otherwise unencrypted document
-
PubSecHandlerUsingAesGcm
public PubSecHandlerUsingAesGcm(PdfDictionary encryptionDictionary, java.security.Key certificateKey, java.security.cert.Certificate certificate, java.lang.String certificateKeyProvider, IExternalDecryptionProcess externalDecryptionProcess, boolean encryptMetadata)
Creates newPubSecHandlerUsingAesGcminstance for decryption.- Parameters:
encryptionDictionary- document's encryption dictionarycertificateKey- the recipient privateKeyto the certificatecertificate- the recipientCertificate, serves as recipient identifiercertificateKeyProvider- the certificate key provider id forSecurity.getProvider(String)externalDecryptionProcess- the external decryption process to be usedencryptMetadata- indicates whether the document-level metadata stream shall be encrypted
-
-
Method Detail
-
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 encryptionobjGeneration- generation of particular object for encryption
-
getEncryptionStream
public OutputStreamEncryption getEncryptionStream(java.io.OutputStream os)
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
public IDecryptor 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
-
-