Bouncy Castle Cryptography Library 1.79

org.bouncycastle.bcpg
Class ArmoredOutputStream

java.lang.Object
  |
  +--java.io.OutputStream
        |
        +--org.bouncycastle.bcpg.ArmoredOutputStream

public class ArmoredOutputStream
extends java.io.OutputStream

Output stream that writes data in ASCII Armored format.

Note 1: close() needs to be called on an ArmoredOutputStream to write the final checksum. flush() will not do this as other classes assume it is always fine to call flush() - it is not though if the checksum gets output. Note 2: as multiple PGP blobs are often written to the same stream, close() does not close the underlying stream.


Inner Class Summary
static class ArmoredOutputStream.Builder
           
 
Field Summary
static java.lang.String CHARSET_HDR
           
static java.lang.String COMMENT_HDR
           
static java.lang.String DEFAULT_VERSION
           
static java.lang.String HASH_HDR
           
static java.lang.String MESSAGE_ID_HDR
           
static java.lang.String VERSION_HDR
           
 
Constructor Summary
ArmoredOutputStream(java.io.OutputStream out)
          Constructs an armored output stream with default headers.
ArmoredOutputStream(java.io.OutputStream out, java.util.Hashtable headers)
          Constructs an armored output stream with default and custom headers.
 
Method Summary
 void addHeader(java.lang.String name, java.lang.String value)
          Deprecated. use appropriate methods in ArmoredOutputStream.Builder instead
 void beginClearText(int hashAlgorithm)
          Start a clear text signed message - backwards compatibility.
 void beginClearText(int[] hashAlgorithms)
          Start a clear text signed message.
static ArmoredOutputStream.Builder builder()
           
 void clearHeaders()
          Deprecated. use appropriate methods in ArmoredOutputStream.Builder instead.
 void close()
          Note: close() does not close the underlying stream.
 void endClearText()
           
 void flush()
           
 void resetHeaders()
          Deprecated. use ArmoredOutputStream.Builder.clearHeaders() instead.
 void setHeader(java.lang.String name, java.lang.String value)
          Deprecated. use appropriate methods in ArmoredOutputStream.Builder instead.
 void write(int b)
           
 
Methods inherited from class java.io.OutputStream
write, write
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

VERSION_HDR

public static final java.lang.String VERSION_HDR

COMMENT_HDR

public static final java.lang.String COMMENT_HDR

MESSAGE_ID_HDR

public static final java.lang.String MESSAGE_ID_HDR

HASH_HDR

public static final java.lang.String HASH_HDR

CHARSET_HDR

public static final java.lang.String CHARSET_HDR

DEFAULT_VERSION

public static final java.lang.String DEFAULT_VERSION
Constructor Detail

ArmoredOutputStream

public ArmoredOutputStream(java.io.OutputStream out)
Constructs an armored output stream with default headers.
Parameters:
out - the OutputStream to wrap.

ArmoredOutputStream

public ArmoredOutputStream(java.io.OutputStream out,
                           java.util.Hashtable headers)
Constructs an armored output stream with default and custom headers.
Parameters:
out - the OutputStream to wrap.
headers - additional headers that add to or override the default headers.
Method Detail

setHeader

public void setHeader(java.lang.String name,
                      java.lang.String value)
Deprecated. use appropriate methods in ArmoredOutputStream.Builder instead.

Set an additional header entry. Any current value(s) under the same name will be replaced by the new one. A null value will clear the entry for name.
Parameters:
name - the name of the header entry.
value - the value of the header entry.

clearHeaders

public void clearHeaders()
Deprecated. use appropriate methods in ArmoredOutputStream.Builder instead.

Remove all headers.

addHeader

public void addHeader(java.lang.String name,
                      java.lang.String value)
Deprecated. use appropriate methods in ArmoredOutputStream.Builder instead

Set an additional header entry. The current value(s) will continue to exist together with the new one. Adding a null value has no effect.
Parameters:
name - the name of the header entry.
value - the value of the header entry.

resetHeaders

public void resetHeaders()
Deprecated. use ArmoredOutputStream.Builder.clearHeaders() instead.

Reset the headers to only contain a Version string (if one is present)

beginClearText

public void beginClearText(int hashAlgorithm)
                    throws java.io.IOException
Start a clear text signed message - backwards compatibility.
Parameters:
hashAlgorithm - hash algorithm

beginClearText

public void beginClearText(int[] hashAlgorithms)
                    throws java.io.IOException
Start a clear text signed message.
Parameters:
hashAlgorithms - hash algorithms

endClearText

public void endClearText()

write

public void write(int b)
           throws java.io.IOException
Overrides:
write in class java.io.OutputStream

flush

public void flush()
           throws java.io.IOException
Overrides:
flush in class java.io.OutputStream

close

public void close()
           throws java.io.IOException
Note: close() does not close the underlying stream. So it is possible to write multiple objects using armoring to a single stream.
Overrides:
close in class java.io.OutputStream

builder

public static ArmoredOutputStream.Builder builder()

Bouncy Castle Cryptography Library 1.79