|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
org.mozilla.jss.asn1
Class ANY
java.lang.Object org.mozilla.jss.asn1.ANY
- All Implemented Interfaces:
- ASN1Value
public class ANY
- extends java.lang.Object
- implements ASN1Value
- extends java.lang.Object
Represents an ASN.1 ANY
value. An ANY is just an arbitrary
ASN.1 value. It can be thought of as the simplest implementation of the
ASN1Value
interface. Although they can be created
from scratch (from raw BER), instances of ANY
are usually
found after decoding
with a template that has an ANY
field.
An ANY
supports extracting the BER encoding, or decoding
with a different template.
Nested Class Summary | |
---|---|
static class |
ANY.Template
A class for decoding ANY values from BER. |
Constructor Summary | |
---|---|
ANY(byte[] encoded)
Creates an ANY value, which is just a generic ASN.1 value. |
|
ANY(Tag tag,
byte[] encoded)
Creates an ANY value, which is just a generic ASN.1 value. |
Method Summary | |
---|---|
ASN1Value |
decodeWith(ASN1Template template)
Decodes this ANY using the given template. |
ASN1Value |
decodeWith(Tag implicitTag,
ASN1Template template)
Decodes this ANY using the given template. |
void |
encode(java.io.OutputStream ostream)
Write this value's DER encoding to an output stream using its own base tag. |
void |
encode(Tag implicitTag,
java.io.OutputStream ostream)
Write this value's DER encoding to an output stream using an implicit tag. |
void |
encodeWithAlternateTag(Tag alternateTag,
java.io.OutputStream ostream)
Extracts the contents from the ANY and encodes them with the provided tag. |
byte[] |
getContents()
|
byte[] |
getEncoded()
Returns the complete encoding of header and contents, as passed into the constructor or read from a BER input stream. |
ASN1Header |
getHeader()
Returns the ASN.1 header from the encoding. |
Tag |
getTag()
Returns the tag of this value. |
static ANY.Template |
getTemplate()
Returns a singleton instance of a decoding template. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
ANY
public ANY(Tag tag, byte[] encoded)
- Creates an ANY value, which is just a generic ASN.1 value.
This method is provided for efficiency if the tag is already known,
so that we don't have to parse the encoding for it.
- Parameters:
tag
- The tag of this value. It must be the same as the actual tag contained in the encoding.encoded
- The complete BER encoding of this value, including tag, form, length, and contents.
ANY
public ANY(byte[] encoded) throws InvalidBERException
- Creates an ANY value, which is just a generic ASN.1 value.
- Parameters:
encoded
- The complete BER encoding of this value, including tag, form, length, and contents.- Throws:
InvalidBERException
Method Detail |
---|
getTag
public Tag getTag()
getEncoded
public byte[] getEncoded()
- Returns the complete encoding of header and contents, as passed into
the constructor or read from a BER input stream.
getHeader
public ASN1Header getHeader() throws InvalidBERException, java.io.IOException
- Returns the ASN.1 header from the encoding.
- Throws:
InvalidBERException
java.io.IOException
getContents
public byte[] getContents() throws InvalidBERException
- Throws:
InvalidBERException
encode
public void encode(java.io.OutputStream ostream) throws java.io.IOException
- Description copied from interface:
ASN1Value
- Write this value's DER encoding to an output stream using
its own base tag.
- Throws:
java.io.IOException
decodeWith
public ASN1Value decodeWith(ASN1Template template) throws InvalidBERException
- Decodes this ANY using the given template. This is useful if you
originally decoded something as an ANY because you didn't know
what it was, but now you know what it is supposed to be.
- Parameters:
template
- The template to use to decode this ANY.- Returns:
- The output of the given template when it is fed the encoding of this ANY.
- Throws:
InvalidBERException
decodeWith
public ASN1Value decodeWith(Tag implicitTag, ASN1Template template) throws java.io.IOException, InvalidBERException
- Decodes this ANY using the given template. This is useful if you
originally decoded something as an ANY because you didn't know
what it was, but now you know what it is supposed to be.
- Parameters:
implicitTag
- The implicit tag for the encoding.template
- The template to use to decode this ANY.- Returns:
- The output of the given template when it is fed the encoding of this ANY.
- Throws:
java.io.IOException
InvalidBERException
encode
public void encode(Tag implicitTag, java.io.OutputStream ostream) throws java.io.IOException
- Description copied from interface:
ASN1Value
- Write this value's DER encoding to an output stream using
an implicit tag.
- Parameters:
implicitTag
- This parameter is ignored, because ANY values cannot have implicit tags.- Throws:
java.io.IOException
encodeWithAlternateTag
public void encodeWithAlternateTag(Tag alternateTag, java.io.OutputStream ostream) throws java.io.IOException, InvalidBERException
- Extracts the contents from the ANY and encodes them with
the provided tag.
- Throws:
java.io.IOException
InvalidBERException
getTemplate
public static ANY.Template getTemplate()
- Returns a singleton instance of a decoding template.
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |