Table of Contents

Class Asn1TaggedObject

Namespace
Org.BouncyCastle.Asn1
Assembly
BouncyCastle.Cryptography.dll
public abstract class Asn1TaggedObject : Asn1Object, Asn1TaggedObjectParser, IAsn1Convertible
Inheritance
Asn1TaggedObject
Implements
Derived
Inherited Members

Constructors

Asn1TaggedObject(bool, int, Asn1Encodable)

protected Asn1TaggedObject(bool isExplicit, int tagNo, Asn1Encodable obj)

Parameters

isExplicit bool
tagNo int
obj Asn1Encodable

Asn1TaggedObject(bool, int, int, Asn1Encodable)

protected Asn1TaggedObject(bool isExplicit, int tagClass, int tagNo, Asn1Encodable obj)

Parameters

isExplicit bool
tagClass int
tagNo int
obj Asn1Encodable

Properties

TagClass

public int TagClass { get; }

Property Value

int

TagNo

public int TagNo { get; }

Property Value

int

Methods

Asn1Equals(Asn1Object)

protected override bool Asn1Equals(Asn1Object asn1Object)

Parameters

asn1Object Asn1Object

Returns

bool

Asn1GetHashCode()

protected override int Asn1GetHashCode()

Returns

int

GetBaseObject()

Needed for open types, until we have better type-guided parsing support.

public Asn1Encodable GetBaseObject()

Returns

Asn1Encodable

Remarks

Use sparingly for other purposes, and prefer GetExplicitBaseTagged(), GetImplicitBaseTagged(int, int) or GetBaseUniversal(bool, int) where possible. Before using, check for matching tag class and number.

GetBaseUniversal(bool, int)

public Asn1Object GetBaseUniversal(bool declaredExplicit, int tagNo)

Parameters

declaredExplicit bool
tagNo int

Returns

Asn1Object

GetExplicitBaseObject()

Needed for open types, until we have better type-guided parsing support.

public Asn1Encodable GetExplicitBaseObject()

Returns

Asn1Encodable

Remarks

Use sparingly for other purposes, and prefer GetExplicitBaseTagged() or GetBaseUniversal(bool, int) where possible. Before using, check for matching tag class and number.

GetExplicitBaseTagged()

public Asn1TaggedObject GetExplicitBaseTagged()

Returns

Asn1TaggedObject

GetImplicitBaseTagged(int, int)

public Asn1TaggedObject GetImplicitBaseTagged(int baseTagClass, int baseTagNo)

Parameters

baseTagClass int
baseTagNo int

Returns

Asn1TaggedObject

GetInstance(Asn1TaggedObject, bool)

public static Asn1TaggedObject GetInstance(Asn1TaggedObject taggedObject, bool declaredExplicit)

Parameters

taggedObject Asn1TaggedObject
declaredExplicit bool

Returns

Asn1TaggedObject

GetInstance(Asn1TaggedObject, int, bool)

public static Asn1TaggedObject GetInstance(Asn1TaggedObject taggedObject, int tagClass, bool declaredExplicit)

Parameters

taggedObject Asn1TaggedObject
tagClass int
declaredExplicit bool

Returns

Asn1TaggedObject

GetInstance(Asn1TaggedObject, int, int, bool)

public static Asn1TaggedObject GetInstance(Asn1TaggedObject taggedObject, int tagClass, int tagNo, bool declaredExplicit)

Parameters

taggedObject Asn1TaggedObject
tagClass int
tagNo int
declaredExplicit bool

Returns

Asn1TaggedObject

GetInstance(object)

public static Asn1TaggedObject GetInstance(object obj)

Parameters

obj object

Returns

Asn1TaggedObject

GetInstance(object, int)

public static Asn1TaggedObject GetInstance(object obj, int tagClass)

Parameters

obj object
tagClass int

Returns

Asn1TaggedObject

GetInstance(object, int, int)

public static Asn1TaggedObject GetInstance(object obj, int tagClass, int tagNo)

Parameters

obj object
tagClass int
tagNo int

Returns

Asn1TaggedObject

GetObject()

Return whatever was following the tag.

[Obsolete("Will be removed")]
public Asn1Object GetObject()

Returns

Asn1Object

Remarks

Tagged objects are generally context dependent. If you're trying to extract a tagged object you should be going via the appropriate GetInstance method.

GetOptional(Asn1Encodable)

public static Asn1TaggedObject GetOptional(Asn1Encodable element)

Parameters

element Asn1Encodable

Returns

Asn1TaggedObject

GetTagged(Asn1TaggedObject, bool)

public static Asn1TaggedObject GetTagged(Asn1TaggedObject taggedObject, bool declaredExplicit)

Parameters

taggedObject Asn1TaggedObject
declaredExplicit bool

Returns

Asn1TaggedObject

HasContextTag()

public bool HasContextTag()

Returns

bool

HasContextTag(int)

public bool HasContextTag(int tagNo)

Parameters

tagNo int

Returns

bool

HasTag(int, int)

public bool HasTag(int tagClass, int tagNo)

Parameters

tagClass int
tagNo int

Returns

bool

HasTagClass(int)

public bool HasTagClass(int tagClass)

Parameters

tagClass int

Returns

bool

IsExplicit()

public bool IsExplicit()

Returns

bool

ParseBaseUniversal(bool, int)

public IAsn1Convertible ParseBaseUniversal(bool declaredExplicit, int baseTagNo)

Parameters

declaredExplicit bool
baseTagNo int

Returns

IAsn1Convertible

Exceptions

IOException

ParseExplicitBaseObject()

Needed for open types, until we have better type-guided parsing support.

public IAsn1Convertible ParseExplicitBaseObject()

Returns

IAsn1Convertible

Remarks

Use sparingly for other purposes, and prefer ParseExplicitBaseTagged() or ParseBaseUniversal(bool, int) where possible. Before using, check for matching tag class and number.

Exceptions

IOException

ParseExplicitBaseTagged()

public Asn1TaggedObjectParser ParseExplicitBaseTagged()

Returns

Asn1TaggedObjectParser

Exceptions

IOException

ParseImplicitBaseTagged(int, int)

public Asn1TaggedObjectParser ParseImplicitBaseTagged(int baseTagClass, int baseTagNo)

Parameters

baseTagClass int
baseTagNo int

Returns

Asn1TaggedObjectParser

Exceptions

IOException

ToString()

Returns a string that represents the current object.

public override string ToString()

Returns

string

A string that represents the current object.