Class MacOutputStream

java.lang.Object
java.io.OutputStream
org.bouncycastle.jcajce.io.MacOutputStream
All Implemented Interfaces:
Closeable, Flushable, AutoCloseable

public final class MacOutputStream extends OutputStream
An output stream which calculates a MAC based on the data that is written to it.
  • Constructor Details

    • MacOutputStream

      public MacOutputStream(Mac mac)
      Base constructor - specify the MAC algorithm to use.
      Parameters:
      mac - the MAC implementation to use as the basis of the stream.
  • Method Details

    • write

      public void write(int b) throws IOException
      Write a single byte to the stream.
      Specified by:
      write in class OutputStream
      Parameters:
      b - the byte value to write.
      Throws:
      IOException - in case of failure.
    • write

      public void write(byte[] bytes, int off, int len) throws IOException
      Write a block of data of length len starting at offset off in the byte array bytes to the stream.
      Overrides:
      write in class OutputStream
      Parameters:
      bytes - byte array holding the data.
      off - offset into bytes that the data starts at.
      len - the length of the data block to write.
      Throws:
      IOException - in case of failure.
    • getMac

      public byte[] getMac()
      Execute doFinal() and return the calculated MAC.
      Returns:
      the MAC calculated from the output written to the stream.