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 intgetApplicationTag()Return the tag number associated with this object,byte[]getContents()Return the contents of this object as a byte[]ASN1PrimitivegetEnclosedObject()Return the enclosed object assuming explicit tagging.static ASN1ApplicationSpecificgetInstance(java.lang.Object obj)Return an ASN1ApplicationSpecific from the passed in object, which may be a byte array, or null.ASN1PrimitivegetLoadedObject()Get the in-memory representation of the ASN.1 object.ASN1PrimitivegetObject()Deprecated.Will be removed.ASN1PrimitivegetObject(int tagNo)Return the enclosed object assuming implicit tagging.ASN1EncodablegetObjectParser(int tag, boolean isExplicit)Return a parser for the actual object tagged.intgetTagClass()Return the tag class associated with this object.ASN1TaggedObjectgetTaggedObject()ASN1ApplicationSpecific uses an internal ASN1TaggedObject for the implementation, and will soon be deprecated in favour of using ASN1TaggedObject with a tag class ofBERTags.APPLICATION.intgetTagNo()Return the tag number associated with this object.booleanhasApplicationTag(int tagNo)booleanhasContextTag(int tagNo)inthashCode()booleanhasTag(int tagClass, int tagNo)booleanisConstructed()Return true if the object is marked as constructed, false otherwise.ASN1EncodableparseBaseUniversal(boolean declaredExplicit, int baseTagNo)ASN1EncodableparseExplicitBaseObject()Needed for open types, until we have better type-guided parsing support.ASN1TaggedObjectParserparseExplicitBaseTagged()ASN1TaggedObjectParserparseImplicitBaseTagged(int baseTagClass, int baseTagNo)ASN1EncodablereadObject()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:InMemoryRepresentableGet the in-memory representation of the ASN.1 object.- Specified by:
getLoadedObjectin 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:ASN1TaggedObjectParserReturn a parser for the actual object tagged.- Specified by:
getObjectParserin 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:
parseBaseUniversalin interfaceASN1TaggedObjectParser- Throws:
java.io.IOException
-
parseExplicitBaseObject
public ASN1Encodable parseExplicitBaseObject() throws java.io.IOException
Description copied from interface:ASN1TaggedObjectParserNeeded 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 tagclassandnumber.- Specified by:
parseExplicitBaseObjectin interfaceASN1TaggedObjectParser- Throws:
java.io.IOException
-
parseExplicitBaseTagged
public ASN1TaggedObjectParser parseExplicitBaseTagged() throws java.io.IOException
- Specified by:
parseExplicitBaseTaggedin interfaceASN1TaggedObjectParser- Throws:
java.io.IOException
-
parseImplicitBaseTagged
public ASN1TaggedObjectParser parseImplicitBaseTagged(int baseTagClass, int baseTagNo) throws java.io.IOException
- Specified by:
parseImplicitBaseTaggedin interfaceASN1TaggedObjectParser- Throws:
java.io.IOException
-
getTagClass
public int getTagClass()
Description copied from interface:ASN1TaggedObjectParserReturn the tag class associated with this object.- Specified by:
getTagClassin interfaceASN1TaggedObjectParser- Returns:
- the tag class.
-
getTagNo
public int getTagNo()
Description copied from interface:ASN1TaggedObjectParserReturn the tag number associated with this object.- Specified by:
getTagNoin interfaceASN1TaggedObjectParser- Returns:
- the tag number.
-
hasApplicationTag
public boolean hasApplicationTag(int tagNo)
-
hasContextTag
public boolean hasContextTag(int tagNo)
- Specified by:
hasContextTagin interfaceASN1TaggedObjectParser
-
hasTag
public boolean hasTag(int tagClass, int tagNo)- Specified by:
hasTagin 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:
hashCodein 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:ASN1ApplicationSpecificParserRead the next object in the parser.- Specified by:
readObjectin interfaceASN1ApplicationSpecificParser- Returns:
- an ASN1Encodable
- Throws:
java.io.IOException- on a parsing or decoding error.
-
-