Package org.bouncycastle.asn1
Class ASN1InputStream
java.lang.Object
java.io.InputStream
java.io.FilterInputStream
org.bouncycastle.asn1.ASN1InputStream
- All Implemented Interfaces:
Closeable,AutoCloseable,BERTags
public class ASN1InputStream extends FilterInputStream implements BERTags
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
Fields inherited from class java.io.FilterInputStream
inFields inherited from interface org.bouncycastle.asn1.BERTags
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
Constructors Constructor Description ASN1InputStream(byte[] input)Create an ASN1InputStream based on the input byte array.ASN1InputStream(byte[] input, boolean lazyEvaluate)Create an ASN1InputStream based on the input byte array.ASN1InputStream(InputStream is)ASN1InputStream(InputStream input, boolean lazyEvaluate)Create an ASN1InputStream where no DER object will be longer than limit, and constructed objects such as sequences will be parsed lazily.ASN1InputStream(InputStream input, int limit)Create an ASN1InputStream where no DER object will be longer than limit.ASN1InputStream(InputStream input, int limit, boolean lazyEvaluate)Create an ASN1InputStream where no DER object will be longer than limit, and constructed objects such as sequences will be parsed lazily. -
Method Summary
Modifier and Type Method Description protected ASN1PrimitivebuildObject(int tag, int tagNo, int length)build an object given its tag and the number of bytes to construct it from.protected voidreadFully(byte[] bytes)protected intreadLength()ASN1PrimitivereadObject()Methods inherited from class java.io.FilterInputStream
available, close, mark, markSupported, read, read, reset, skipMethods inherited from class java.io.InputStream
read
-
Constructor Details
-
ASN1InputStream
-
ASN1InputStream
public ASN1InputStream(byte[] input)Create an ASN1InputStream based on the input byte array. The length of DER objects in the stream is automatically limited to the length of the input array.- Parameters:
input- array containing ASN.1 encoded data.
-
ASN1InputStream
public ASN1InputStream(byte[] input, boolean lazyEvaluate)Create an ASN1InputStream based on the input byte array. The length of DER objects in the stream is automatically limited to the length of the input array.- Parameters:
input- array containing ASN.1 encoded data.lazyEvaluate- true if parsing inside constructed objects can be delayed.
-
ASN1InputStream
Create an ASN1InputStream where no DER object will be longer than limit.- Parameters:
input- stream containing ASN.1 encoded data.limit- maximum size of a DER encoded object.
-
ASN1InputStream
Create an ASN1InputStream where no DER object will be longer than limit, and constructed objects such as sequences will be parsed lazily.- Parameters:
input- stream containing ASN.1 encoded data.lazyEvaluate- true if parsing inside constructed objects can be delayed.
-
ASN1InputStream
Create an ASN1InputStream where no DER object will be longer than limit, and constructed objects such as sequences will be parsed lazily.- Parameters:
input- stream containing ASN.1 encoded data.limit- maximum size of a DER encoded object.lazyEvaluate- true if parsing inside constructed objects can be delayed.
-
-
Method Details
-
readLength
- Throws:
IOException
-
readFully
- Throws:
IOException
-
buildObject
build an object given its tag and the number of bytes to construct it from.- Throws:
IOException
-
readObject
- Throws:
IOException
-