Interface ASN1Writer

All Superinterfaces:
AutoCloseable, Closeable, Flushable
All Known Implementing Classes:
AbstractASN1Writer

public interface ASN1Writer extends Closeable, Flushable
An interface for encoding ASN.1 elements to a data source.

Methods for creating ASN1Writers are provided in the ASN1 class.

  • Method Details

    • close

      void close() throws IOException
      Closes this ASN.1 writer, flushing it first. Closing a previously closed ASN.1 writer has no effect. Any unfinished sequences and/or sets will be ended.
      Specified by:
      close in interface AutoCloseable
      Specified by:
      close in interface Closeable
      Throws:
      IOException - If an error occurs while closing.
    • flush

      void flush() throws IOException
      Flushes this ASN.1 writer so that any buffered elements are written immediately to their intended destination. Then, if that destination is another byte stream, flush it. Thus one flush() invocation will flush all the buffers in a chain of streams.

      If the intended destination of this stream is an abstraction provided by the underlying operating system, for example a file, then flushing the stream guarantees only that bytes previously written to the stream are passed to the operating system for writing; it does not guarantee that they are actually written to a physical device such as a disk drive.

      Specified by:
      flush in interface Flushable
      Throws:
      IOException - If an error occurs while flushing.
    • writeBoolean

      ASN1Writer writeBoolean(boolean value) throws IOException
      Writes a boolean element using the Universal Boolean ASN.1 type tag.
      Parameters:
      value - The boolean value.
      Returns:
      A reference to this ASN.1 writer.
      Throws:
      IOException - If an error occurs while writing the element.
    • writeBoolean

      ASN1Writer writeBoolean(byte type, boolean value) throws IOException
      Writes a boolean element using the provided type tag.
      Parameters:
      type - The type tag of the element.
      value - The boolean value.
      Returns:
      A reference to this ASN.1 writer.
      Throws:
      IOException - If an error occurs while writing the element.
    • writeEndSequence

      Finishes writing a sequence element.
      Returns:
      A reference to this ASN.1 writer.
      Throws:
      IOException - If an error occurs while writing the element.
      IllegalStateException - If there is no sequence being written.
    • writeEndSet

      Finishes writing a set element.
      Returns:
      A reference to this ASN.1 writer.
      Throws:
      IOException - If an error occurs while writing the element.
      IllegalStateException - If there is no set being written.
    • writeEnumerated

      ASN1Writer writeEnumerated(byte type, int value) throws IOException
      Writes an enumerated element using the provided type tag.
      Parameters:
      type - The type tag of the element.
      value - The enumerated value.
      Returns:
      A reference to this ASN.1 writer.
      Throws:
      IOException - If an error occurs while writing the element.
    • writeEnumerated

      Writes an enumerated element using the Universal Enumerated ASN.1 type tag.
      Parameters:
      value - The enumerated value.
      Returns:
      A reference to this ASN.1 writer.
      Throws:
      IOException - If an error occurs while writing the element.
    • writeInteger

      ASN1Writer writeInteger(byte type, int value) throws IOException
      Writes an integer element using the provided type tag.
      Parameters:
      type - The type tag of the element.
      value - The integer value.
      Returns:
      A reference to this ASN.1 writer.
      Throws:
      IOException - If an error occurs while writing the element.
    • writeInteger

      ASN1Writer writeInteger(byte type, long value) throws IOException
      Writes an integer element using the provided type tag.
      Parameters:
      type - The type tag of the element.
      value - The integer value.
      Returns:
      A reference to this ASN.1 writer.
      Throws:
      IOException - If an error occurs while writing the element.
    • writeInteger

      ASN1Writer writeInteger(int value) throws IOException
      Writes an integer element using the Universal Integer ASN.1 type tag.
      Parameters:
      value - The integer value.
      Returns:
      A reference to this ASN.1 writer.
      Throws:
      IOException - If an error occurs while writing the element.
    • writeInteger

      ASN1Writer writeInteger(long value) throws IOException
      Writes an integer element using the Universal Integer ASN.1 type tag.
      Parameters:
      value - The integer value.
      Returns:
      A reference to this ASN.1 writer.
      Throws:
      IOException - If an error occurs while writing the element.
    • writeNull

      Writes a null element using the Universal Null ASN.1 type tag.
      Returns:
      A reference to this ASN.1 writer.
      Throws:
      IOException - If an error occurs while writing the element.
    • writeNull

      ASN1Writer writeNull(byte type) throws IOException
      Writes a null element using the provided type tag.
      Parameters:
      type - The type tag of the element.
      Returns:
      A reference to this ASN.1 writer.
      Throws:
      IOException - If an error occurs while writing the element.
    • writeOctetString

      ASN1Writer writeOctetString(byte type, byte[] value) throws IOException
      Writes an octet string element using the provided type tag.
      Parameters:
      type - The type tag of the element.
      value - The byte array containing the octet string data.
      Returns:
      A reference to this ASN.1 writer.
      Throws:
      IOException - If an error occurs while writing the element.
    • writeOctetString

      ASN1Writer writeOctetString(byte type, byte[] value, int offset, int length) throws IOException
      Writes an octet string element using the provided type tag.
      Parameters:
      type - The type tag of the element.
      value - The byte array containing the octet string data.
      offset - The offset in the byte array.
      length - The number of bytes to write.
      Returns:
      A reference to this ASN.1 writer.
      Throws:
      IOException - If an error occurs while writing the element.
    • writeOctetString

      Writes an octet string element using the provided type tag.
      Parameters:
      type - The type tag of the element.
      value - The octet string value.
      Returns:
      A reference to this ASN.1 writer.
      Throws:
      IOException - If an error occurs while writing the element.
    • writeOctetString

      ASN1Writer writeOctetString(byte type, String value) throws IOException
      Writes a string as a UTF-8 encoded octet string element using the provided type tag.
      Parameters:
      type - The type tag of the element.
      value - The string to be written as a UTF-8 encoded octet string.
      Returns:
      A reference to this ASN.1 writer.
      Throws:
      IOException - If an error occurs while writing the element.
    • writeOctetString

      ASN1Writer writeOctetString(byte[] value) throws IOException
      Writes an octet string element using the Universal Octet String ASN.1 type tag.
      Parameters:
      value - The byte array containing the octet string data.
      Returns:
      A reference to this ASN.1 writer.
      Throws:
      IOException - If an error occurs while writing the element.
    • writeOctetString

      ASN1Writer writeOctetString(byte[] value, int offset, int length) throws IOException
      Writes an octet string element using the Universal Octet String ASN.1 type tag.
      Parameters:
      value - The byte array containing the octet string data.
      offset - The offset in the byte array.
      length - The number of bytes to write.
      Returns:
      A reference to this ASN.1 writer.
      Throws:
      IOException - If an error occurs while writing the element.
    • writeOctetString

      Writes an octet string element using the Universal Octet String ASN.1 type tag.
      Parameters:
      value - The octet string value.
      Returns:
      A reference to this ASN.1 writer.
      Throws:
      IOException - If an error occurs while writing the element.
    • writeOctetString

      Writes a string as a UTF-8 encoded octet string element using the Universal Octet String ASN.1 type tag.
      Parameters:
      value - The string to be written as a UTF-8 encoded octet string.
      Returns:
      A reference to this ASN.1 writer.
      Throws:
      IOException - If an error occurs while writing the element.
    • writeStartSequence

      Writes a sequence element using the Universal Sequence ASN.1 type tag. All further writes will append elements to the sequence until writeEndSequence() is called.
      Returns:
      A reference to this ASN.1 writer.
      Throws:
      IOException - If an error occurs while writing the element.
    • writeStartSequence

      Writes a sequence element using the provided type tag. All further writes will append elements to the sequence until writeEndSequence() is called.
      Parameters:
      type - The type tag of the element.
      Returns:
      A reference to this ASN.1 writer.
      Throws:
      IOException - If an error occurs while writing the element.
    • writeStartSet

      Writes a set element using the Universal Set ASN.1 type tag. All further writes will append elements to the set until writeEndSet() is called.
      Returns:
      A reference to this ASN.1 writer.
      Throws:
      IOException - If an error occurs while writing the element.
    • writeStartSet

      Writes a set element using the provided type tag. All further writes will append elements to the set until writeEndSet() is called.
      Parameters:
      type - The type tag of the element.
      Returns:
      A reference to this ASN.1 writer.
      Throws:
      IOException - If an error occurs while writing the element.