All Packages  Class Hierarchy  This Package  Previous  Next  Index  

Class javax.crypto.CipherOutputStream

java.lang.Object
    |
    +----java.io.OutputStream
            |
            +----java.io.FilterOutputStream
                    |
                    +----javax.crypto.CipherOutputStream

public class CipherOutputStream
extends FilterOutputStream
A CipherOutputStream is composed of an OutputStream and a Cipher so that write() methods first process the data before writing them out to the underlying OutputStream. The Cipher must be fully initialized before being used by a CipherOutputStream.

For example, if the Cipher is initialized for encryption, the CipherOutputStream will attempt to encrypt data before writing out the encrypted data.

This class adheres strictly to the semantics, especially the failure semantics, of its ancestor classes java.io.OutputStream and java.io.FilterOutputStream. This class has exactly those methods specified in its ancestor classes, and overrides them all. Moreover, this class catches all exceptions that are not thrown by its ancestor classes.

It is crucial for a programmer using this class not to use methods that are not defined or overriden in this class (such as a new method or constructor that is later added to one of the super classes), because the design and implementation of those methods are unlikely to have considered security impact with regard to CipherOutputStream.

Since:
JCE1.2
See Also:
java.io.OutputStream, java.io.FilterOutputStream, Cipher, CipherInputStream

Constructor Index

 o CipherOutputStream(OutputStream)
Constructs a CipherOutputStream from an OutputStream without specifying a Cipher.
 o CipherOutputStream(OutputStream, Cipher)
Constructs a CipherOutputStream from an OutputStream and a Cipher.

Method Index

 o close()
Closes this output stream and releases any system resources associated with this stream.
 o flush()
Flushes this output stream and forces any buffered output bytes to be written out.
 o write(byte[])
Writes b.length bytes from the specified byte array to this output stream.
 o write(byte[], int, int)
Writes len bytes from the specified byte array starting at offset off to this output stream.
 o write(int)
Writes the specified byte to this output stream.

Constructors

 o CipherOutputStream
public CipherOutputStream(OutputStream os,
                          Cipher c)
Constructs a CipherOutputStream from an OutputStream and a Cipher.

 o CipherOutputStream
protected CipherOutputStream(OutputStream os)
Constructs a CipherOutputStream from an OutputStream without specifying a Cipher. This has the effect of constructing a CipherOutputStream using a NullCipher.

Methods

 o write
public void write(int b) throws IOException
Writes the specified byte to this output stream.

Parameters:
b - the byte.
Throws: IOException
if an I/O error occurs.
Overrides:
write in class FilterOutputStream
 o write
public void write(byte[] b) throws IOException
Writes b.length bytes from the specified byte array to this output stream.

The write method of CipherOutputStream calls the write method of three arguments with the three arguments b, 0, and b.length.

Parameters:
b - the data.
Throws: IOException
if an I/O error occurs.
Overrides:
write in class FilterOutputStream
See Also:
write
 o 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.

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.
Overrides:
write in class FilterOutputStream
 o flush
public void flush() throws IOException
Flushes this output stream and forces any buffered output bytes to be written out.

Throws: IOException
if an I/O error occurs.
Overrides:
flush in class FilterOutputStream
 o close
public void close() throws IOException
Closes this output stream and releases any system resources associated with this stream.

The close method of CipherOutputStream calls its flush method, and then calls the close method of its underlying output stream.

Throws: IOException
if an I/O error occurs.
Overrides:
close in class FilterOutputStream

All Packages  Class Hierarchy  This Package  Previous  Next  Index