Class OutputStreamAesGcmEncryption

java.lang.Object
java.io.OutputStream
com.itextpdf.kernel.crypto.OutputStreamEncryption
com.itextpdf.kernel.crypto.OutputStreamAesGcmEncryption
All Implemented Interfaces:
Closeable, Flushable, AutoCloseable

public class OutputStreamAesGcmEncryption extends OutputStreamEncryption
An output stream accepts output bytes and sends them to underlying OutputStreamEncryption instance.
  • Constructor Details

    • OutputStreamAesGcmEncryption

      public OutputStreamAesGcmEncryption (OutputStream out, byte[] key, byte[] noncePart)
      Creates a new instance of OutputStreamAesGcmEncryption.
      Parameters:
      out - the OutputStream instance to be used as the destination for the encrypted content
      key - the byte array containing the key for encryption
      noncePart - a 7 byte nonce
  • Method Details

    • write

      public void write (byte[] b, int off, int len) throws IOException
      Writes len bytes from the specified byte array starting at offset off to this output stream. The general contract for write(b, off, len) is that some bytes in the array b are written to the output stream in order; element b[off] is the first byte written and b[off+len-1] is the last byte written by this operation.

      The write method of OutputStream calls 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 off is negative, or len is negative, or off+len is greater than the length of the array b, then an IndexOutOfBoundsException is thrown.

      Specified by:
      write in class OutputStreamEncryption
      Parameters:
      b - the data
      off - the start offset in the data
      len - the number of bytes to write
      Throws:
      IOException - if an I/O error occurs. In particular, an IOException is 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:
      finish in class OutputStreamEncryption