|
|
 |
 |
|
Asn1BerDecodeBuffer Class ReferenceInheritance diagram for Asn1BerDecodeBuffer:
List of all members.
Detailed Description
This class handles the decoding of ASN.1 messages as specified in the Basic Encoding Rules (BER) as documented in the ITU-T X.690 standard.
Constructor & Destructor Documentation
|
|
This constructor creates a BER Decode buffer object that references an encoded ASN.1 message.
- Parameters:
-
| msgdata | Byte array containing an encoded ASN.1 message. |
|
|
|
This constructor creates a BER Decode buffer object that references an encoded ASN.1 message. In this case, the message is passed in using an System.IO.Stream object.
- Parameters:
-
| istream | Input stream containing an encoded ASN.1 message. |
|
Member Function Documentation
| static int CalcIndefLen |
( |
byte[] |
data, |
|
|
int |
offset, |
|
|
int |
len |
|
) |
[static] |
|
|
|
This function calculates the actual length of an indefinite length message component.
- Parameters:
-
| data | Buffer with the indefinite length message component. |
| offset | The start offset in the array |
| len | Length of the buffer (begining from the offset) |
- Returns:
- calculated length
|
| virtual int DecodeLength |
( |
|
) |
[virtual] |
|
|
|
This method decodes a length value.
- Returns:
- Decoded length value
|
| virtual byte [] DecodeOpenType |
( |
bool |
saveData |
) |
[virtual] |
|
|
|
This method decodes an ASN.1 BER open type value. This is a fully encoded message component of any type. This version of the method allows the option of saving or discarding the open type data.
- Parameters:
-
| saveData | True if data should be captured and returned |
- Returns:
- Reference to byte array containing component.
|
| virtual byte [] DecodeOpenType |
( |
|
) |
[virtual] |
|
|
|
This method decodes an ASN.1 BER open type value. This is a fully encoded message component of any type. The component is captured in the Decode capture buffer and a reference to a byte array is returned containing the component.
- Returns:
- Reference to byte array containing component.
|
| virtual void DecodeTag |
( |
Asn1Tag |
tag |
) |
[virtual] |
|
|
|
This method decodes a tag value.
- Parameters:
-
| tag | Tag object to receive decoded tag fields. |
- Returns:
- status value (see Asn1Status.java)
|
| virtual int DecodeTagAndLength |
( |
Asn1Tag |
tag |
) |
[virtual] |
|
|
|
This method decodes a tag and length value.
- Parameters:
-
| tag | Tag object to receive decoded tag fields. |
- Returns:
- Decoded length value.
|
| virtual bool MatchTag |
( |
Asn1Tag |
tag |
) |
[virtual] |
|
|
|
This overloaded version of MatchTag will just test for a match and not return parsed tag and length values
- Parameters:
-
| tag | Tag value to be matched. |
- Returns:
- True if given tag matches tag at Decode cursor
|
|
|
This overloaded version of MatchTag allows the tag value to be matched to be passed using an Asn1Tag object.
- Parameters:
-
| tag | Tag value to be matched. |
| parsedTag | Holder object to receive parsed tag value |
| parsedLen | Holder object to receive parsed length value |
- Returns:
- True if given tag matches tag at Decode cursor
|
| virtual bool MatchTag |
( |
short |
tagClass, |
|
|
short |
tagForm, |
|
|
int |
tagIDCode, |
|
|
Asn1Tag |
parsedTag, |
|
|
IntHolder |
parsedLen |
|
) |
[virtual] |
|
|
|
This method decodes the next tag value and checks for a match with the given tag value. If the match is successful, the Decode cursor will be psoitioned at the contents field; otherwise, it will be reset to point to the start of the tag field.
- Parameters:
-
| tagClass | Class value of tag to match |
| tagForm | Form value of tag to match |
| tagIDCode | ID code of tag to match |
| parsedTag | Holder object to receive parsed tag value |
| parsedLen | Holder object to receive parsed length value |
- Returns:
- True if given tag matches tag at Decode cursor
|
| internal void MovePastEOC |
( |
bool |
saveData |
) |
[protected] |
|
|
|
This method skips or saves the data/bytes of the current tag in this DecodeBuffer. If current tag has indefinite length, than index will moved to end of the indifinite length. If tag has definite length, than that many bytes are moved.
- Parameters:
-
| saveData | True if data should be captured |
|
|
|
This method parses the complete message and invokes the event handler callback methods as various items are encountered.
- Parameters:
-
| handler | Object implementing the Asn1EventHandler interface. |
- Returns:
- Status value
|
| virtual Asn1Tag PeekTag |
( |
|
) |
[virtual] |
|
|
|
This overloaded version of the PeekTag method will return a reference to a newly created tag object.
- Returns:
- Parsed tag object value reference
|
| virtual void PeekTag |
( |
Asn1Tag |
parsedTag |
) |
[virtual] |
|
|
|
This method will Parse and return the next tag in the Decode stream without advancing the Decode cursor.
- Parameters:
-
| parsedTag | Holder object to receive parsed tag value |
|
| override int ReadByte |
( |
|
) |
[virtual] |
|
|
|
This method returns the next available 8-bit value from the input stream. It is implemented differently for BER/DER and PER to take into account odd alignments in PER.
- Returns:
- Next 8-bit byte value from input stream
Implements Asn1DecodeBuffer. |
Property Documentation
|
|
Gets the last tag parsed within this decode buffer object.
Value: Last parsed tag object reference |
|
This document may be distributed in any form, electronic
or otherwise, provided that it is distributed in its entirety
and that the copyright and this notice are included.
|
This file was last modified on
18 Nov 2005. ASN1C C# Runtime Library, 5.8 |
|