Top Description Fields Constructors Methods
org.apache.tomcat.util.buf

public Class Asn1Parser

extends Object
Class Inheritance
Imports
java.math.BigInteger, java.util.ArrayDeque, .Deque, org.apache.tomcat.util.res.StringManager

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

Modifier and TypeField and Description
private Deque<Integer>
private int
private static final StringManager
private final byte[]
public static final int
public static final int
public static final int
public static final int
public static final int
public static final int

Constructor Summary

AccessConstructor and Description
public
Asn1Parser(byte[] source)

Method Summary

Modifier and TypeMethod and Description
public boolean
eof()

public int
private int
next()

public byte[]
private byte[]
parseBytes(int tag)

public void
parseBytes(byte[] dest)

public void
public BigInteger
public int
public void
public byte[]
public byte[]
public void
parseTag(int tag)

public void
public int
Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Field Detail

nestedSequenceEndPositionsback to summary
private Deque<Integer> nestedSequenceEndPositions
posback to summary
private int pos
smback to summary
private static final StringManager sm
sourceback to summary
private final byte[] source
TAG_ATTRIBUTE_BASEback to summary
public static final int TAG_ATTRIBUTE_BASE
TAG_INTEGERback to summary
public static final int TAG_INTEGER
TAG_NULLback to summary
public static final int TAG_NULL
TAG_OCTET_STRINGback to summary
public static final int TAG_OCTET_STRING
TAG_OIDback to summary
public static final int TAG_OID
TAG_SEQUENCEback to summary
public static final int TAG_SEQUENCE

Constructor Detail

Asn1Parserback to summary
public Asn1Parser(byte[] source)

Method Detail

eofback to summary
public boolean eof()
getNestedSequenceLevelback to summary
public int getNestedSequenceLevel()
nextback to summary
private int next()
parseAttributeAsBytesback to summary
public byte[] parseAttributeAsBytes(int index)
parseBytesback to summary
private byte[] parseBytes(int tag)
parseBytesback to summary
public void parseBytes(byte[] dest)
parseFullLengthback to summary
public void parseFullLength()
parseIntback to summary
public BigInteger parseInt()
parseLengthback to summary
public int parseLength()
parseNullback to summary
public void parseNull()
parseOctetStringback to summary
public byte[] parseOctetString()
parseOIDAsBytesback to summary
public byte[] parseOIDAsBytes()
parseTagback to summary
public void parseTag(int tag)
parseTagSequenceback to summary
public void parseTagSequence()
peekTagback to summary
public int peekTag()