com.lowagie.bc.asn1
Class ASN1InputStream

java.lang.Object
  extended by java.io.InputStream
      extended by java.io.FilterInputStream
          extended by com.lowagie.bc.asn1.DERInputStream
              extended by 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