Package org.forgerock.opendj.io
Class Asn1
- java.lang.Object
-
- org.forgerock.opendj.io.Asn1
-
public final class Asn1 extends Object
This class contains various static factory methods for creating ASN.1 readers and writers.- See Also:
Asn1Reader,Asn1Writer
-
-
Field Summary
Fields Modifier and Type Field Description static byteBOOLEAN_VALUE_FALSEThe byte array containing the pre-encoded ASN.1 encoding for a boolean value of "false".static byteBOOLEAN_VALUE_TRUEThe byte array containing the pre-encoded ASN.1 encoding for a boolean value of "false".static intELEMENT_READ_STATE_NEED_ADDITIONAL_LENGTH_BYTESThe ASN.1 element decoding state that indicates that the next byte read should be additional bytes of a multi-byte length.static intELEMENT_READ_STATE_NEED_FIRST_LENGTH_BYTEThe ASN.1 element decoding state that indicates that the next byte read should be the first byte for the element length.static intELEMENT_READ_STATE_NEED_TYPEThe ASN.1 element decoding state that indicates that the next byte read should be the BER type for a new element.static intELEMENT_READ_STATE_NEED_VALUE_BYTESThe ASN.1 element decoding state that indicates that the next byte read should be applied to the value of the element.static byteOBJECT_IDENTIFIERThe BER type that is assigned to the object identifier type.static byteTYPE_MASK_CONSTRUCTEDThe bitmask that can be ANDed with the BER type to determine if the element is constructed.static byteTYPE_MASK_CONTEXTThe bitmask that can be ANDed with the BER type to determine if the element is in the context-specific class.static byteUNIVERSAL_BIT_STRING_TYPEThe BER type that is assigned to the universal bit string type.static byteUNIVERSAL_BOOLEAN_TYPEThe BER type that is assigned to the universal Boolean element.static byteUNIVERSAL_ENUMERATED_TYPEThe BER type that is assigned to the universal enumerated type.static byteUNIVERSAL_GENERALIZED_TIME_TYPEThe BER type that is assigned to the generalized time type.static byteUNIVERSAL_INTEGER_TYPEThe BER type that is assigned to the universal integer type.static byteUNIVERSAL_NULL_TYPEThe BER type that is assigned to the universal null type.static byteUNIVERSAL_OCTET_STRING_TYPEThe BER type that is assigned to the universal octet string type.static byteUNIVERSAL_PRINTABLE_STRING_TYPEThe BER type that is assigned to the universal Printable String type.static byteUNIVERSAL_SEQUENCE_TYPEThe BER type that is assigned to the universal sequence type.static byteUNIVERSAL_SET_TYPEThe BER type that is assigned to the universal set type.static byteUNIVERSAL_UTC_TIME_TYPEThe BER type that is assigned to the utc time type.
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static Asn1ReadergetReader(byte[] array)Returns an ASN.1 reader whose source is the provided byte array and having an unlimited maximum BER element size.static Asn1ReadergetReader(byte[] array, int maxElementSize)Returns an ASN.1 reader whose source is the provided byte array and having a user defined maximum BER element size.static Asn1ReadergetReader(InputStream stream)Returns an ASN.1 reader whose source is the provided input stream and having an unlimited maximum BER element size.static Asn1ReadergetReader(InputStream stream, int maxElementSize)Returns an ASN.1 reader whose source is the provided input stream and having a user defined maximum BER element size.static Asn1ReadergetReader(ByteSequence sequence)Returns an ASN.1 reader whose source is the provided byte sequence and having an unlimited maximum BER element size.static Asn1ReadergetReader(ByteSequence sequence, int maxElementSize)Returns an ASN.1 reader whose source is the provided byte sequence and having a user defined maximum BER element size.static Asn1ReadergetReader(ByteSequenceReader reader)Returns an ASN.1 reader whose source is the provided byte sequence reader and having an unlimited maximum BER element size.static Asn1ReadergetReader(ByteSequenceReader reader, int maxElementSize)Returns an ASN.1 reader whose source is the provided byte sequence reader and having a user defined maximum BER element size.static Asn1WritergetWriter(OutputStream stream)Returns an ASN.1 writer whose destination is the provided output stream.static Asn1WritergetWriter(OutputStream stream, int maxBufferSize)Returns an ASN.1 writer whose destination is the provided output stream.static Asn1WritergetWriter(ByteStringBuilder builder)Returns an ASN.1 writer whose destination is the provided byte string builder.static Asn1WritergetWriter(ByteStringBuilder builder, int maxBufferSize)Returns an ASN.1 writer whose destination is the provided byte string builder.
-
-
-
Field Detail
-
BOOLEAN_VALUE_FALSE
public static final byte BOOLEAN_VALUE_FALSE
The byte array containing the pre-encoded ASN.1 encoding for a boolean value of "false".- See Also:
- Constant Field Values
-
BOOLEAN_VALUE_TRUE
public static final byte BOOLEAN_VALUE_TRUE
The byte array containing the pre-encoded ASN.1 encoding for a boolean value of "false".- See Also:
- Constant Field Values
-
UNIVERSAL_BOOLEAN_TYPE
public static final byte UNIVERSAL_BOOLEAN_TYPE
The BER type that is assigned to the universal Boolean element.- See Also:
- Constant Field Values
-
UNIVERSAL_INTEGER_TYPE
public static final byte UNIVERSAL_INTEGER_TYPE
The BER type that is assigned to the universal integer type.- See Also:
- Constant Field Values
-
UNIVERSAL_BIT_STRING_TYPE
public static final byte UNIVERSAL_BIT_STRING_TYPE
The BER type that is assigned to the universal bit string type.- See Also:
- Constant Field Values
-
UNIVERSAL_OCTET_STRING_TYPE
public static final byte UNIVERSAL_OCTET_STRING_TYPE
The BER type that is assigned to the universal octet string type.- See Also:
- Constant Field Values
-
UNIVERSAL_NULL_TYPE
public static final byte UNIVERSAL_NULL_TYPE
The BER type that is assigned to the universal null type.- See Also:
- Constant Field Values
-
OBJECT_IDENTIFIER
public static final byte OBJECT_IDENTIFIER
The BER type that is assigned to the object identifier type.- See Also:
- Constant Field Values
-
UNIVERSAL_PRINTABLE_STRING_TYPE
public static final byte UNIVERSAL_PRINTABLE_STRING_TYPE
The BER type that is assigned to the universal Printable String type.- See Also:
- Constant Field Values
-
UNIVERSAL_UTC_TIME_TYPE
public static final byte UNIVERSAL_UTC_TIME_TYPE
The BER type that is assigned to the utc time type.- See Also:
- Constant Field Values
-
UNIVERSAL_GENERALIZED_TIME_TYPE
public static final byte UNIVERSAL_GENERALIZED_TIME_TYPE
The BER type that is assigned to the generalized time type.- See Also:
- Constant Field Values
-
UNIVERSAL_ENUMERATED_TYPE
public static final byte UNIVERSAL_ENUMERATED_TYPE
The BER type that is assigned to the universal enumerated type.- See Also:
- Constant Field Values
-
UNIVERSAL_SEQUENCE_TYPE
public static final byte UNIVERSAL_SEQUENCE_TYPE
The BER type that is assigned to the universal sequence type.- See Also:
- Constant Field Values
-
UNIVERSAL_SET_TYPE
public static final byte UNIVERSAL_SET_TYPE
The BER type that is assigned to the universal set type.- See Also:
- Constant Field Values
-
ELEMENT_READ_STATE_NEED_ADDITIONAL_LENGTH_BYTES
public static final int ELEMENT_READ_STATE_NEED_ADDITIONAL_LENGTH_BYTES
The ASN.1 element decoding state that indicates that the next byte read should be additional bytes of a multi-byte length.- See Also:
- Constant Field Values
-
ELEMENT_READ_STATE_NEED_FIRST_LENGTH_BYTE
public static final int ELEMENT_READ_STATE_NEED_FIRST_LENGTH_BYTE
The ASN.1 element decoding state that indicates that the next byte read should be the first byte for the element length.- See Also:
- Constant Field Values
-
ELEMENT_READ_STATE_NEED_TYPE
public static final int ELEMENT_READ_STATE_NEED_TYPE
The ASN.1 element decoding state that indicates that the next byte read should be the BER type for a new element.- See Also:
- Constant Field Values
-
ELEMENT_READ_STATE_NEED_VALUE_BYTES
public static final int ELEMENT_READ_STATE_NEED_VALUE_BYTES
The ASN.1 element decoding state that indicates that the next byte read should be applied to the value of the element.- See Also:
- Constant Field Values
-
TYPE_MASK_CONSTRUCTED
public static final byte TYPE_MASK_CONSTRUCTED
The bitmask that can be ANDed with the BER type to determine if the element is constructed.- See Also:
- Constant Field Values
-
TYPE_MASK_CONTEXT
public static final byte TYPE_MASK_CONTEXT
The bitmask that can be ANDed with the BER type to determine if the element is in the context-specific class.- See Also:
- Constant Field Values
-
-
Method Detail
-
getReader
public static Asn1Reader getReader(byte[] array)
Returns an ASN.1 reader whose source is the provided byte array and having an unlimited maximum BER element size.- Parameters:
array- The byte array to use.- Returns:
- The new ASN.1 reader.
-
getReader
public static Asn1Reader getReader(byte[] array, int maxElementSize)
Returns an ASN.1 reader whose source is the provided byte array and having a user defined maximum BER element size.- Parameters:
array- The byte array to use.maxElementSize- The maximum BER element size, or0to indicate that there is no limit.- Returns:
- The new ASN.1 reader.
-
getReader
public static Asn1Reader getReader(ByteSequence sequence)
Returns an ASN.1 reader whose source is the provided byte sequence and having an unlimited maximum BER element size.- Parameters:
sequence- The byte sequence to use.- Returns:
- The new ASN.1 reader.
-
getReader
public static Asn1Reader getReader(ByteSequence sequence, int maxElementSize)
Returns an ASN.1 reader whose source is the provided byte sequence and having a user defined maximum BER element size.- Parameters:
sequence- The byte sequence to use.maxElementSize- The maximum BER element size, or0to indicate that there is no limit.- Returns:
- The new ASN.1 reader.
-
getReader
public static Asn1Reader getReader(ByteSequenceReader reader)
Returns an ASN.1 reader whose source is the provided byte sequence reader and having an unlimited maximum BER element size.- Parameters:
reader- The byte sequence reader to use.- Returns:
- The new ASN.1 reader.
-
getReader
public static Asn1Reader getReader(ByteSequenceReader reader, int maxElementSize)
Returns an ASN.1 reader whose source is the provided byte sequence reader and having a user defined maximum BER element size.- Parameters:
reader- The byte sequence reader to use.maxElementSize- The maximum BER element size, or0to indicate that there is no limit.- Returns:
- The new ASN.1 reader.
-
getReader
public static Asn1Reader getReader(InputStream stream)
Returns an ASN.1 reader whose source is the provided input stream and having an unlimited maximum BER element size.- Parameters:
stream- The input stream to use.- Returns:
- The new ASN.1 reader.
-
getReader
public static Asn1Reader getReader(InputStream stream, int maxElementSize)
Returns an ASN.1 reader whose source is the provided input stream and having a user defined maximum BER element size.- Parameters:
stream- The input stream to use.maxElementSize- The maximum BER element size, or0to indicate that there is no limit.- Returns:
- The new ASN.1 reader.
-
getWriter
public static Asn1Writer getWriter(ByteStringBuilder builder)
Returns an ASN.1 writer whose destination is the provided byte string builder.- Parameters:
builder- The byte string builder to use.- Returns:
- The new ASN.1 writer.
-
getWriter
public static Asn1Writer getWriter(ByteStringBuilder builder, int maxBufferSize)
Returns an ASN.1 writer whose destination is the provided byte string builder.- Parameters:
builder- The output stream to use.maxBufferSize- The threshold capacity beyond which internal cached buffers used for encoding and decoding ASN1 will be trimmed after use.- Returns:
- The new ASN.1 writer.
-
getWriter
public static Asn1Writer getWriter(OutputStream stream)
Returns an ASN.1 writer whose destination is the provided output stream.- Parameters:
stream- The output stream to use.- Returns:
- The new ASN.1 writer.
-
getWriter
public static Asn1Writer getWriter(OutputStream stream, int maxBufferSize)
Returns an ASN.1 writer whose destination is the provided output stream.- Parameters:
stream- The output stream to use.maxBufferSize- The threshold capacity beyond which internal cached buffers used for encoding and decoding ASN1 will be trimmed after use.- Returns:
- The new ASN.1 writer.
-
-