Package org.apache.tomcat.util.buf

# Class Asn1Parser

java.lang.Object
org.apache.tomcat.util.buf.Asn1Parser

public class Asn1Parser extends Object
This is a very basic ASN.1 parser that provides the limited functionality required by Tomcat. It is a long way from a complete parser.

TODO: Consider extending/re-writing this parser and refactoring the SpnegoTokenFixer to use it.

## Field Summary

Fields
Modifier and Type
Field
Description
`static final int`
`TAG_ATTRIBUTE_BASE`
`static final int`
`TAG_INTEGER`
`static final int`
`TAG_NULL`
`static final int`
`TAG_OCTET_STRING`
`static final int`
`TAG_OID`
`static final int`
`TAG_SEQUENCE`

## Constructor Summary

Constructors
Constructor
Description
`Asn1Parser(byte[] source)`

## Method Summary

Modifier and Type
Method
Description
`boolean`
`eof()`
`int`
`getNestedSequenceLevel()`
`byte[]`
`parseAttributeAsBytes(int index)`
`void`
`parseBytes(byte[] dest)`
`void`
`parseFullLength()`
`BigInteger`
`parseInt()`
`int`
`parseLength()`
`void`
`parseNull()`
`byte[]`
`parseOctetString()`
`byte[]`
`parseOIDAsBytes()`
`void`
`parseTag(int tag)`
`void`
`parseTagSequence()`
`int`
`peekTag()`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

## Field Details

### TAG_INTEGER

public static final int TAG_INTEGER

See Also:
  - Constant Field Values

### TAG_OCTET_STRING

public static final int TAG_OCTET_STRING

See Also:
  - Constant Field Values

### TAG_NULL

public static final int TAG_NULL

See Also:
  - Constant Field Values

### TAG_OID

public static final int TAG_OID

See Also:
  - Constant Field Values

### TAG_SEQUENCE

public static final int TAG_SEQUENCE

See Also:
  - Constant Field Values

### TAG_ATTRIBUTE_BASE

public static final int TAG_ATTRIBUTE_BASE

See Also:
  - Constant Field Values

## Constructor Details

### Asn1Parser

public Asn1Parser(byte[] source)

## Method Details

### eof

public boolean eof()

### peekTag

public int peekTag()

### parseTagSequence

public void parseTagSequence()

### parseTag

public void parseTag(int tag)

### parseFullLength

public void parseFullLength()

### parseLength

public int parseLength()

### parseInt

public BigInteger parseInt()

### parseOctetString

public byte[] parseOctetString()

### parseNull

public void parseNull()

### parseOIDAsBytes

public byte[] parseOIDAsBytes()

### parseAttributeAsBytes

public byte[] parseAttributeAsBytes(int index)

### parseBytes

public void parseBytes(byte[] dest)

### getNestedSequenceLevel

public int getNestedSequenceLevel()