Package org.bouncycastle.asn1
Class ASN1ApplicationSpecific
- java.lang.Object
-
- org.bouncycastle.asn1.ASN1Object
-
- org.bouncycastle.asn1.ASN1Primitive
-
- org.bouncycastle.asn1.ASN1ApplicationSpecific
-
- All Implemented Interfaces:
ASN1ApplicationSpecificParser
,ASN1Encodable
,ASN1TaggedObjectParser
,InMemoryRepresentable
,Encodable
- Direct Known Subclasses:
BERApplicationSpecific
,DERApplicationSpecific
,DLApplicationSpecific
public abstract class ASN1ApplicationSpecific extends ASN1Primitive implements ASN1ApplicationSpecificParser
Base class for an ASN.1 ApplicationSpecific object
-
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description int
getApplicationTag()
Return the tag number associated with this object,byte[]
getContents()
Return the contents of this object as a byte[]ASN1Primitive
getEnclosedObject()
Return the enclosed object assuming explicit tagging.static ASN1ApplicationSpecific
getInstance(java.lang.Object obj)
Return an ASN1ApplicationSpecific from the passed in object, which may be a byte array, or null.ASN1Primitive
getLoadedObject()
Get the in-memory representation of the ASN.1 object.ASN1Primitive
getObject()
Deprecated.Will be removed.ASN1Primitive
getObject(int tagNo)
Return the enclosed object assuming implicit tagging.ASN1Encodable
getObjectParser(int tag, boolean isExplicit)
Return a parser for the actual object tagged.int
getTagClass()
Return the tag class associated with this object.ASN1TaggedObject
getTaggedObject()
ASN1ApplicationSpecific uses an internal ASN1TaggedObject for the implementation, and will soon be deprecated in favour of using ASN1TaggedObject with a tag class ofBERTags.APPLICATION
.int
getTagNo()
Return the tag number associated with this object.boolean
hasApplicationTag(int tagNo)
boolean
hasContextTag(int tagNo)
int
hashCode()
boolean
hasTag(int tagClass, int tagNo)
boolean
isConstructed()
Return true if the object is marked as constructed, false otherwise.ASN1Encodable
parseBaseUniversal(boolean declaredExplicit, int baseTagNo)
ASN1Encodable
parseExplicitBaseObject()
Needed for open types, until we have better type-guided parsing support.ASN1TaggedObjectParser
parseExplicitBaseTagged()
ASN1TaggedObjectParser
parseImplicitBaseTagged(int baseTagClass, int baseTagNo)
ASN1Encodable
readObject()
Read the next object in the parser.-
Methods inherited from class org.bouncycastle.asn1.ASN1Primitive
encodeTo, encodeTo, equals, equals, equals, fromByteArray, toASN1Primitive
-
Methods inherited from class org.bouncycastle.asn1.ASN1Object
getEncoded, getEncoded, hasEncodedTagValue
-
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.bouncycastle.asn1.ASN1Encodable
toASN1Primitive
-
-
-
-
Method Detail
-
getInstance
public static ASN1ApplicationSpecific getInstance(java.lang.Object obj)
Return an ASN1ApplicationSpecific from the passed in object, which may be a byte array, or null.- Parameters:
obj
- the object to be converted.- Returns:
- obj's representation as an ASN1ApplicationSpecific object.
-
getApplicationTag
public int getApplicationTag()
Return the tag number associated with this object,- Returns:
- the application tag number.
-
getContents
public byte[] getContents()
Return the contents of this object as a byte[]- Returns:
- the encoded contents of the object.
-
getLoadedObject
public final ASN1Primitive getLoadedObject()
Description copied from interface:InMemoryRepresentable
Get the in-memory representation of the ASN.1 object.- Specified by:
getLoadedObject
in interfaceInMemoryRepresentable
- Returns:
- an ASN1Primitive representing the loaded object.
-
getObject
public ASN1Primitive getObject() throws java.io.IOException
Deprecated.Will be removed. UsegetEnclosedObject()
instead.Return the enclosed object assuming explicit tagging.- Returns:
- the resulting object
- Throws:
java.io.IOException
- if reconstruction fails.
-
getEnclosedObject
public ASN1Primitive getEnclosedObject() throws java.io.IOException
Return the enclosed object assuming explicit tagging.- Returns:
- the resulting object
- Throws:
java.io.IOException
- if reconstruction fails.
-
getObject
public ASN1Primitive getObject(int tagNo) throws java.io.IOException
Return the enclosed object assuming implicit tagging.- Parameters:
tagNo
- the type tag that should be applied to the object's contents.- Returns:
- the resulting object
- Throws:
java.io.IOException
- if reconstruction fails.
-
getObjectParser
public ASN1Encodable getObjectParser(int tag, boolean isExplicit) throws java.io.IOException
Description copied from interface:ASN1TaggedObjectParser
Return a parser for the actual object tagged.- Specified by:
getObjectParser
in interfaceASN1TaggedObjectParser
- Parameters:
tag
- the primitive tag value for the object tagged originally.isExplicit
- true if the tagging was done explicitly.- Returns:
- a parser for the tagged object.
- Throws:
java.io.IOException
- if a parser cannot be constructed.
-
parseBaseUniversal
public ASN1Encodable parseBaseUniversal(boolean declaredExplicit, int baseTagNo) throws java.io.IOException
- Specified by:
parseBaseUniversal
in interfaceASN1TaggedObjectParser
- Throws:
java.io.IOException
-
parseExplicitBaseObject
public ASN1Encodable parseExplicitBaseObject() throws java.io.IOException
Description copied from interface:ASN1TaggedObjectParser
Needed for open types, until we have better type-guided parsing support. Use sparingly for other purposes, and preferASN1TaggedObjectParser.parseExplicitBaseTagged()
orASN1TaggedObjectParser.parseBaseUniversal(boolean, int)
where possible. Before using, check for matching tagclass
andnumber
.- Specified by:
parseExplicitBaseObject
in interfaceASN1TaggedObjectParser
- Throws:
java.io.IOException
-
parseExplicitBaseTagged
public ASN1TaggedObjectParser parseExplicitBaseTagged() throws java.io.IOException
- Specified by:
parseExplicitBaseTagged
in interfaceASN1TaggedObjectParser
- Throws:
java.io.IOException
-
parseImplicitBaseTagged
public ASN1TaggedObjectParser parseImplicitBaseTagged(int baseTagClass, int baseTagNo) throws java.io.IOException
- Specified by:
parseImplicitBaseTagged
in interfaceASN1TaggedObjectParser
- Throws:
java.io.IOException
-
getTagClass
public int getTagClass()
Description copied from interface:ASN1TaggedObjectParser
Return the tag class associated with this object.- Specified by:
getTagClass
in interfaceASN1TaggedObjectParser
- Returns:
- the tag class.
-
getTagNo
public int getTagNo()
Description copied from interface:ASN1TaggedObjectParser
Return the tag number associated with this object.- Specified by:
getTagNo
in interfaceASN1TaggedObjectParser
- Returns:
- the tag number.
-
hasApplicationTag
public boolean hasApplicationTag(int tagNo)
-
hasContextTag
public boolean hasContextTag(int tagNo)
- Specified by:
hasContextTag
in interfaceASN1TaggedObjectParser
-
hasTag
public boolean hasTag(int tagClass, int tagNo)
- Specified by:
hasTag
in interfaceASN1TaggedObjectParser
-
getTaggedObject
public ASN1TaggedObject getTaggedObject()
ASN1ApplicationSpecific uses an internal ASN1TaggedObject for the implementation, and will soon be deprecated in favour of using ASN1TaggedObject with a tag class ofBERTags.APPLICATION
. This method lets you get the internal ASN1TaggedObject so that client code can begin the migration.
-
hashCode
public int hashCode()
- Specified by:
hashCode
in classASN1Primitive
-
isConstructed
public boolean isConstructed()
Return true if the object is marked as constructed, false otherwise.- Returns:
- true if constructed, otherwise false.
-
readObject
public ASN1Encodable readObject() throws java.io.IOException
Description copied from interface:ASN1ApplicationSpecificParser
Read the next object in the parser.- Specified by:
readObject
in interfaceASN1ApplicationSpecificParser
- Returns:
- an ASN1Encodable
- Throws:
java.io.IOException
- on a parsing or decoding error.
-
-