public class SecureOutputStream
extends java.io.FilterOutputStream
Modifier and Type | Field and Description |
---|---|
static short |
MAXIMUM_DATA_BUFFER_SIZE |
Constructor and Description |
---|
SecureOutputStream(java.io.OutputStream out,
AESSymmetricKey key,
HMACSymmetricKey signKey,
byte[] iv)
Creates a new AESOutputStream that encrypts the given OutputStream with the given key and additionally signs it with the signature key.
|
Modifier and Type | Method and Description |
---|---|
void |
close()
Closes the stream, first does a
flush() . |
void |
flush()
Flushes the stream, creates a signature, if necessary.
|
void |
write(byte[] b)
Write a byte array completely.
|
void |
write(byte[] b,
int off,
int len)
Writes b bytes to the stream.
|
void |
write(int b)
Writes a single byte.
|
public static final short MAXIMUM_DATA_BUFFER_SIZE
public SecureOutputStream(java.io.OutputStream out, AESSymmetricKey key, HMACSymmetricKey signKey, byte[] iv)
out
- The OutputStream that should be encrypted (and signed)key
- The AES key that should be used for encryptionsignKey
- The symmetric key that is used to create the HMAC (signature)iv
- The initialization vector that is used to initialize the encryptionpublic void write(byte[] b) throws java.io.IOException
write
in class java.io.FilterOutputStream
b
- The byte array to write.java.io.IOException
- Thrown by the underlying stream.public void write(int b) throws java.io.IOException
write
in class java.io.FilterOutputStream
b
- The byte to write.java.io.IOException
- Thrown by the underlying stream.public void write(byte[] b, int off, int len) throws java.io.IOException
write
in class java.io.FilterOutputStream
b
- The buffer of data to writeoff
- The offset in bufferlen
- The length of the data in the bufferjava.io.IOException
- Thrown by the underlying stream.public void flush() throws java.io.IOException
flush
in interface java.io.Flushable
flush
in class java.io.FilterOutputStream
java.io.IOException
- Thrown by the underlying stream.public void close() throws java.io.IOException
flush()
.close
in interface java.io.Closeable
close
in interface java.lang.AutoCloseable
close
in class java.io.FilterOutputStream
java.io.IOException
- Thrown by the underlying stream.