Class OutputStreamAesGcmEncryption
java.lang.Object
java.io.OutputStream
com.itextpdf.kernel.crypto.OutputStreamEncryption
com.itextpdf.kernel.crypto.OutputStreamAesGcmEncryption
- All Implemented Interfaces:
Closeable, Flushable, AutoCloseable
An output stream accepts output bytes and sends them to underlying
OutputStreamEncryption instance.-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final AESGCMCipherprivate booleanprivate static final SecureRandomFields inherited from class OutputStreamEncryption
out -
Constructor Summary
ConstructorsConstructorDescriptionOutputStreamAesGcmEncryption(OutputStream out, byte[] key, byte[] noncePart) Creates a new instance ofOutputStreamAesGcmEncryption. -
Method Summary
Methods inherited from class OutputStreamEncryption
close, flush, write, writeMethods inherited from class OutputStream
nullOutputStream
-
Field Details
-
cipher
-
finished
private boolean finished -
rng
-
-
Constructor Details
-
OutputStreamAesGcmEncryption
Creates a new instance ofOutputStreamAesGcmEncryption.- Parameters:
out- theOutputStreaminstance to be used as the destination for the encrypted contentkey- the byte array containing the key for encryptionnoncePart- a 7 byte nonce
-
-
Method Details
-
write
Writeslenbytes from the specified byte array starting at offsetoffto this output stream. The general contract forwrite(b, off, len)is that some bytes in the arraybare written to the output stream in order; elementb[off]is the first byte written andb[off+len-1]is the last byte written by this operation.The
writemethod ofOutputStreamcalls the write method of one argument on each of the bytes to be written out. Subclasses are encouraged to override this method and provide a more efficient implementation.If
offis negative, orlenis negative, oroff+lenis greater than the length of the arrayb, then an IndexOutOfBoundsException is thrown.- Specified by:
writein classOutputStreamEncryption- Parameters:
b- the dataoff- the start offset in the datalen- the number of bytes to write- Throws:
IOException- if an I/O error occurs. In particular, anIOExceptionis thrown if the output stream is closed
-
finish
public void finish()Finishes and dispose all resources used for writing in encrypted stream. Input data that may have been buffered during a previous update operation is processed, with padding (if requested) being applied and authentication tag is appended.- Specified by:
finishin classOutputStreamEncryption
-