## com.lowagie.bc.asn1
Class ASN1InputStream

    java.lang.Object
      java.io.InputStream
          java.io.FilterInputStream
              com.lowagie.bc.asn1.DERInputStream
                  com.lowagie.bc.asn1.ASN1InputStream

All Implemented Interfaces:
  DERTags, java.io.Closeable

    public class ASN1InputStream

extends DERInputStream

a general purpose ASN.1 decoder - note: this class differs from the others in that it returns null after it has read the last object in the stream. If an ASN.1 NULL is encountered a DER/BER Null object is returned.

Field Summary
`private DERObject` `END_OF_STREAM`
`(package private) boolean` `eofFound`

Fields inherited from class java.io.FilterInputStream
`in`

Fields inherited from interface com.lowagie.bc.asn1.DERTags
`APPLICATION, BIT_STRING, BMP_STRING, BOOLEAN, CONSTRUCTED, ENUMERATED, EXTERNAL, GENERAL_STRING, GENERALIZED_TIME, GRAPHIC_STRING, IA5_STRING, INTEGER, NULL, NUMERIC_STRING, OBJECT_IDENTIFIER, OCTET_STRING, PRINTABLE_STRING, SEQUENCE, SEQUENCE_OF, SET, SET_OF, T61_STRING, TAGGED, UNIVERSAL_STRING, UTC_TIME, UTF8_STRING, VIDEOTEX_STRING, VISIBLE_STRING`

Constructor Summary
`ASN1InputStream(java.io.InputStream is)`

Method Summary
`private BERConstructedOctetString` `buildConstructedOctetString()`
`protected DERObject` `buildObject(int tag, byte[] bytes)` build an object given its tag and a byte stream to construct it from.
`protected void` `readFully(byte[] bytes)`
`private byte[]` `readIndefiniteLengthFully()` read a string of bytes representing an indefinite length object.
`protected int` `readLength()`
`DERObject` `readObject()`

Methods inherited from class java.io.FilterInputStream
`available, close, mark, markSupported, read, read, read, reset, skip`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Field Detail

### END_OF_STREAM

    private DERObject END_OF_STREAM

### eofFound

    boolean eofFound

Constructor Detail

### ASN1InputStream

    public ASN1InputStream(java.io.InputStream is)

Method Detail

### readLength

    protected int readLength()
                      throws java.io.IOException

  Overrides:
    `readLength` in class `DERInputStream`
  Throws:
    `java.io.IOException`

### readFully

    protected void readFully(byte[] bytes)
                      throws java.io.IOException

  Overrides:
    `readFully` in class `DERInputStream`
  Throws:
    `java.io.IOException`

### buildObject

    protected DERObject buildObject(int tag,
                                    byte[] bytes)
                             throws java.io.IOException

  build an object given its tag and a byte stream to construct it from.

  Overrides:
    `buildObject` in class `DERInputStream`
  Throws:
    `java.io.IOException`

### readIndefiniteLengthFully

    private byte[] readIndefiniteLengthFully()
                                      throws java.io.IOException

  read a string of bytes representing an indefinite length object.

  Throws:
    `java.io.IOException`

### buildConstructedOctetString

    private BERConstructedOctetString buildConstructedOctetString()
                                                           throws java.io.IOException

  Throws:
    `java.io.IOException`

### readObject

    public DERObject readObject()
                         throws java.io.IOException

  Overrides:
    `readObject` in class `DERInputStream`
  Throws:
    `java.io.IOException`