public class Asn1OctetString extends Asn1Type implements java.lang.Comparable
Modifier and Type | Field and Description |
---|---|
static Asn1Tag |
TAG
The TAG constant describes the universal tag for
this data type (UNIVERSAL 4).
|
byte[] |
value
This variable holds the octet string value.
|
BIT_STRING, BMPString, BOOLEAN, DATE, DATE_TIME, DURATION, ENUMERATED, EOC, EXTERNAL, GeneralString, GeneralTime, GraphicString, IA5String, INTEGER, mNonParameterizedTypeName, NULL, NumericString, OBJECT_IDENTIFIER, ObjectDescriptor, OCTET_STRING, OID_IRI, OpenType, PrintableString, REAL, RELATIVE_OID_IRI, RelativeOID, SEQUENCE, SET, T61String, TeletexString, TIME, TIME_OF_DAY, UniversalString, UTCTime, UTF8String, VideotexString, VisibleString
Constructor and Description |
---|
Asn1OctetString()
This constructor creates an empty octet string that can be used in
a decode method call to receive an octet string value.
|
Asn1OctetString(byte[] data)
This constructor initializes an octet string from the given
byte array.
|
Asn1OctetString(byte[] data,
int offset,
int nbytes)
This constructor initializes an octet string from a portion
of the given byte array.
|
Asn1OctetString(java.lang.String value_)
This constructor parses the given ASN.1 value text (either a
binary or hex data string) and assigns the values to the internal
bit string.
|
Modifier and Type | Method and Description |
---|---|
int |
compareTo(java.lang.Object octstr)
This method compares two Asn1OctetString objects for equality.
|
void |
decode(Asn1BerDecodeBuffer buffer,
boolean explicit,
int implicitLength)
This method decodes an ASN.1 octet string value including the
UNIVERSAL tag value and length if explicit tagging is specified.
|
void |
decode(Asn1JsonDecodeBuffer buffer)
Decode ASN.1 octet string from JSON.
|
void |
decode(Asn1MderDecodeBuffer buffer)
Decode an unconstrained octet string from the MDER encoding into this
object.
|
void |
decode(Asn1MderDecodeBuffer buffer,
int constrainedLength)
Decode an octet string from the MDER encoding into this object.
|
void |
decode(Asn1NasDecodeBuffer buffer,
int nbytes)
Decode the given number of bytes from the buffer.
|
void |
decode(Asn1OerDecodeBuffer buffer)
This method decodes an ASN.1 octet string using the Octet Encoding
Rules (OER).
|
void |
decode(Asn1PerDecodeBuffer buffer)
This method decodes an ASN.1 octet string value using the packed
encoding rules (PER).
|
void |
decode(Asn1PerDecodeBuffer buffer,
long lower,
long upper)
This method decodes a sized ASN.1 octet string value using the
packed encoding rules (PER).
|
void |
decodeAsBase64(Asn1JsonDecodeBuffer buffer)
Decode ASN.1 octet string, encoded in base64 form, from JSON.
|
void |
decodeAsHex(Asn1JsonDecodeBuffer buffer)
Decode ASN.1 octet string, encoded in standard, hexadecimal form,
from JSON.
|
void |
decodeContent(Asn1OerDecodeBuffer buffer,
int numOctets)
This method decodes an ASN.1 OCTET STRING's content that was encoded
according to OER, given the total number of octets.
|
void |
decodeRemainingBits(Asn1NasDecodeBuffer buffer)
Decode all remaining bits in the current container from the buffer.
|
void |
decodeXER(java.lang.String buffer,
java.lang.String attrs,
boolean base64)
This method decodes ASN.1 octet string type using the XML
encoding rules (XER).
|
void |
decodeXML(java.lang.String buffer,
java.lang.String attrs)
This method decodes an ASN.1 octet string type using the XML
schema encoding rules.
|
int |
encode(Asn1BerEncodeBuffer buffer,
boolean explicit)
This method encodes an ASN.1 octet string value including the UNIVERSAL
tag value and length if explicit tagging is specified.
|
void |
encode(Asn1BerOutputStream out,
boolean explicit)
This method encodes and writes to the stream an ASN.1 octet string value
including the UNIVERSAL tag value and length if explicit tagging is
specified.
|
void |
encode(Asn1JsonOutputStream outstream)
Encode this octet string to JSON.
|
void |
encode(Asn1MderOutputStream out)
Encode this octet string into the MDER encoding.
|
void |
encode(Asn1MderOutputStream out,
int constrainedLength)
Encode this octet string into the MDER encoding.
|
void |
encode(Asn1OerEncodeBuffer buffer)
This method encodes this ASN.1 OCTET STRING value, according
to OER.
|
void |
encode(Asn1PerEncodeBuffer buffer)
This method encodes an unconstrained ASN.1 octet string value
using the packed encoding rules (PER).
|
void |
encode(Asn1PerEncodeBuffer buffer,
long lower,
long upper)
This method encodes a size-constrained ASN.1 octet string value
using the packed encoding rules (PER).
|
void |
encode(Asn1PerOutputStream out)
This method encodes an unconstrained ASN.1 octet string value
using the packed encoding rules (PER).
|
void |
encode(Asn1PerOutputStream out,
long lower,
long upper)
This method encodes a size-constrained ASN.1 octet string value
using the packed encoding rules (PER).
|
void |
encode(Asn1XerEncoder buffer,
java.lang.String elemName)
This method encodes ASN.1 octet string type using the XML
encoding rules (XER).
|
void |
encode(Asn1XmlEncoder buffer,
java.lang.String elemName,
java.lang.String nsPrefix)
This method encodes ASN.1 octet string type as an xmlhstring.
|
void |
encode(Asn1XmlEncoder buffer,
java.lang.String elemName,
java.lang.String nsPrefix,
boolean base64)
This method encodes ASN.1 octet string type using the XML
Encoding as specified in the XML schema standard(asn2xsd).
|
void |
encodeAsBase64(Asn1JsonOutputStream outstream)
Encode this octet string to JSON using BASE64 form (as required when
a BASE64 encoding instruction applies).
|
void |
encodeAsHex(Asn1JsonOutputStream outstream)
Encode this octet string to JSON using the standard (hexadecimal)
form.
|
void |
encodeAttribute(Asn1XmlEncoder buffer,
java.lang.String attrName)
This method encodes ASN.1 octet string type using the XML
Encoding as specified in the XML schema standard(asn2xsd).
|
static java.lang.String |
encodeBase64Binary(byte[] data)
Encodes bytes into base64 ASCII characters using the algorithm
defined in RFC2045, as defined in w3c stadard
http://www.w3.org/tr/2001/rec-xmlschema-2-20010502#base64Binary
|
void |
encodeContent(Asn1OerEncodeBuffer buffer)
This method encodes the content of an ASN.1 OCTET STRING, according
to OER.
|
boolean |
equals(byte[] value)
This method compares this octet string value to the given value
for equality.
|
boolean |
equals(java.lang.Object os)
This method compares this octet string value to the given value
for equality.
|
boolean |
equals(java.lang.String s)
This method compares the given ASN.1 OCTET STRING value to this
OCTET STRING value for equality.
|
java.lang.String |
getAsn1TypeName()
Returns the ASN.1 type name.
|
int |
getLength()
This method will return the length of the OCTET STRING in octets.
|
int |
getMderLength()
Return the length of the MDER encoding for this type, assuming that
the type is NOT a fixed length OCTET STRING (if it is fixed length, you
need not call this method!).
|
int |
hashCode()
This method returns the hashcode for the Asn1OctetString.
|
static void |
skip(Asn1PerDecodeBuffer buffer)
This method skips an ASN.1 octet string value using the packed
encoding rules (PER).
|
static void |
skip(Asn1PerDecodeBuffer buffer,
long lower,
long upper)
This method skips a sized ASN.1 octet string value using the
packed encoding rules (PER).
|
java.io.InputStream |
toInputStream()
This method will return a byte array input stream representation
of the octet string value.
|
java.lang.String |
toString()
This method will return a string representation of the octet string
value.
|
_setKey, _setLicLocation, clone, decode, decode, decode, decode, decode, decode, decode, decode, decode, encode, encode, encode, encode, encodeAsOpenType, equals, getNonParameterizedTypeName, getTypeName, indent, indent, isOpenType, matchTag, matchTag, pdiag, print, print, print, setNonParameterizedTypeName, setOpenType
public static final Asn1Tag TAG
public transient byte[] value
public Asn1OctetString()
public Asn1OctetString(byte[] data)
data
- Byte array containing an octet string
in binary form.public Asn1OctetString(byte[] data, int offset, int nbytes)
data
- Byte array containing an octet string
in binary form.offset
- Starting offset in data from which to copy bytesnbytes
- Number of bytes to copy from target arraypublic Asn1OctetString(java.lang.String value_) throws Asn1ValueParseException
value_
- The ASN.1 value specification textAsn1ValueParseException
public java.lang.String getAsn1TypeName()
getAsn1TypeName
in class Asn1Type
public int compareTo(java.lang.Object octstr)
compareTo
in interface java.lang.Comparable
octstr
- Asn1OctetString to comparepublic void decode(Asn1BerDecodeBuffer buffer, boolean explicit, int implicitLength) throws Asn1Exception, java.io.IOException
decode
in interface Asn1TypeIF
decode
in class Asn1Type
buffer
- Decode message buffer objectexplicit
- Flag indicating element is explicitly taggedimplicitLength
- Length of contents if implicitAsn1Exception
java.io.IOException
public int encode(Asn1BerEncodeBuffer buffer, boolean explicit) throws Asn1Exception
encode
in interface Asn1TypeIF
encode
in class Asn1Type
buffer
- Encode message buffer objectexplicit
- Flag indicating explicit tagging should be doneAsn1Exception
public void decode(Asn1PerDecodeBuffer buffer) throws Asn1Exception, java.io.IOException
decode
in interface Asn1TypeIF
decode
in class Asn1Type
buffer
- Decode message buffer objectAsn1Exception
java.io.IOException
public void decode(Asn1PerDecodeBuffer buffer, long lower, long upper) throws Asn1Exception, java.io.IOException
buffer
- Decode message buffer objectlower
- Lower bound (inclusive) of size constraintupper
- Upper bound (inclusive) of size constraintjava.io.IOException
- for I/O exceptionAsn1Exception
public static void skip(Asn1PerDecodeBuffer buffer) throws Asn1Exception, java.io.IOException
buffer
- Decode message buffer objectAsn1Exception
java.io.IOException
public static void skip(Asn1PerDecodeBuffer buffer, long lower, long upper) throws Asn1Exception, java.io.IOException
buffer
- Decode message buffer objectlower
- Lower bound (inclusive) of size constraintupper
- Upper bound (inclusive) of size constraintjava.io.IOException
- for I/O exceptionAsn1Exception
public void encode(Asn1PerEncodeBuffer buffer) throws Asn1Exception, java.io.IOException
encode
in interface Asn1TypeIF
encode
in class Asn1Type
buffer
- Encode message buffer objectAsn1Exception
java.io.IOException
public void encode(Asn1PerEncodeBuffer buffer, long lower, long upper) throws Asn1Exception, java.io.IOException
buffer
- Encode message buffer objectlower
- Lower bound (inclusive) of size constraintupper
- Upper bound (inclusive) of size constraintjava.io.IOException
- for I/O exceptionAsn1Exception
public final void decode(Asn1NasDecodeBuffer buffer, int nbytes) throws java.io.IOException
buffer
- The buffer to decode from.nbytes
- The number of bytes to decode.java.io.IOException
- for I/O exceptionpublic final void decodeRemainingBits(Asn1NasDecodeBuffer buffer) throws java.io.IOException
buffer
- The buffer to decode from.java.io.IOException
- for I/O exceptionpublic final void decodeContent(Asn1OerDecodeBuffer buffer, int numOctets) throws java.io.IOException
buffer
- Decode message buffer objectnumOctets
- Total number of octets encoding the content.java.io.IOException
- for I/O exceptionpublic void decode(Asn1OerDecodeBuffer buffer) throws java.io.IOException
public final void encodeContent(Asn1OerEncodeBuffer buffer)
buffer
- Encode message buffer objectpublic void encode(Asn1OerEncodeBuffer buffer) throws java.io.IOException
public void decode(Asn1MderDecodeBuffer buffer) throws Asn1Exception, java.io.IOException
decode
in interface Asn1TypeIF
decode
in class Asn1Type
buffer
- MDER Decode message buffer objectjava.io.IOException
- for I/O exceptionAsn1Exception
- Thrown, if operation is failed.public void decode(Asn1MderDecodeBuffer buffer, int constrainedLength) throws Asn1Exception, java.io.IOException
buffer
- The buffer to decode from.constrainedLength
- The constrained length of the type being
encoded. Pass -1 if the type is unconstrained. For a constrained
length octet string, exactly that many octets will be read.java.io.IOException
- for I/O exceptionAsn1Exception
public int getMderLength()
public void encode(Asn1XerEncoder buffer, java.lang.String elemName) throws java.io.IOException, Asn1Exception
encode
in interface Asn1TypeIF
encode
in class Asn1Type
buffer
- Encode message buffer objectelemName
- XML element name used to wrap stringjava.io.IOException
- Any exception thrown by the underlying stream.Asn1Exception
- Thrown, if operation is failed.public void decodeXER(java.lang.String buffer, java.lang.String attrs, boolean base64) throws Asn1Exception
buffer
- String containing data to be decodedattrs
- Attributes string from element tagbase64
- pass true if encoding is base64 (extended-XER only)Asn1Exception
public void encode(Asn1XmlEncoder buffer, java.lang.String elemName, java.lang.String nsPrefix) throws java.io.IOException, Asn1Exception
public void encode(Asn1XmlEncoder buffer, java.lang.String elemName, java.lang.String nsPrefix, boolean base64) throws java.io.IOException, Asn1Exception
buffer
- Encode message buffer objectelemName
- XML element name used to wrap stringnsPrefix
- XML element name space prefixbase64
- Pass true to encode as base64 (extended-XER only,
including XSD compilation)java.io.IOException
- for I/O exceptionAsn1Exception
public void encodeAttribute(Asn1XmlEncoder buffer, java.lang.String attrName) throws Asn1Exception, java.io.IOException
buffer
- Encode message buffer objectattrName
- XML element name used to wrap stringAsn1Exception
java.io.IOException
public void decodeXML(java.lang.String buffer, java.lang.String attrs) throws Asn1Exception
decodeXML
in interface Asn1TypeIF
decodeXML
in class Asn1Type
buffer
- String containing data to be decodedattrs
- Attributes string from element tagAsn1Exception
public final void decodeAsBase64(Asn1JsonDecodeBuffer buffer) throws java.io.IOException
buffer
- The buffer to decode from.java.io.IOException
- for I/O exceptionpublic final void decodeAsHex(Asn1JsonDecodeBuffer buffer) throws java.io.IOException
buffer
- The buffer to decode from.java.io.IOException
- for I/O exceptionpublic void decode(Asn1JsonDecodeBuffer buffer) throws java.io.IOException
public final void encodeAsBase64(Asn1JsonOutputStream outstream) throws java.io.IOException
java.io.IOException
public final void encodeAsHex(Asn1JsonOutputStream outstream) throws java.io.IOException
outstream
- The stream to encode to.java.io.IOException
- for I/O exceptionpublic void encode(Asn1JsonOutputStream outstream) throws java.io.IOException
public static java.lang.String encodeBase64Binary(byte[] data)
data
- Array containing bytes to be encodedpublic boolean equals(byte[] value)
value
- Byte array containing octet datapublic boolean equals(java.lang.String s)
s
- Textual representation of an OCTET STRING. Examples of valid
value formats are as follows:
Binary string: '11010010111001'B
Hex string: '0fa56920014abc'Hpublic boolean equals(java.lang.Object os)
equals
in class java.lang.Object
os
- Asn1OctetString object to comparepublic int hashCode()
public int getLength() throws Asn1InvalidLengthException
getLength
in class Asn1Type
Asn1InvalidLengthException
public java.io.InputStream toInputStream()
public java.lang.String toString()
toString
in class java.lang.Object
public void encode(Asn1BerOutputStream out, boolean explicit) throws Asn1Exception, java.io.IOException
encode
in interface Asn1TypeIF
encode
in class Asn1Type
out
- BER Output Stream objectexplicit
- Flag indicating explicit tagging should be donejava.io.IOException
- Any exception thrown by the underlying OutputStream.Asn1Exception
- Thrown, if operation is failed.public void encode(Asn1PerOutputStream out) throws Asn1Exception, java.io.IOException
encode
in interface Asn1TypeIF
encode
in class Asn1Type
out
- PER Output Stream objectjava.io.IOException
- Any exception thrown by the Asn1PerOutputStream.Asn1Exception
- Thrown, if operation is failed.public void encode(Asn1PerOutputStream out, long lower, long upper) throws Asn1Exception, java.io.IOException
out
- PER Output Stream objectlower
- Lower bound (inclusive) of size constraintupper
- Upper bound (inclusive) of size constraintjava.io.IOException
- Any exception thrown by the Asn1PerOutputStream.Asn1Exception
- Thrown, if operation is failed.public void encode(Asn1MderOutputStream out) throws Asn1Exception, java.io.IOException
encode
in interface Asn1TypeIF
encode
in class Asn1Type
out
- MDER Encode message buffer objectAsn1MderUnsupported
- if the actual length > 65535 (maximum allowed
by MDER).Asn1Exception
- Thrown, if operation is failed.java.io.IOException
- Any exception thrown by the underlying stream.public void encode(Asn1MderOutputStream out, int constrainedLength) throws Asn1Exception, java.io.IOException
out
- The stream to encode to.constrainedLength
- The constrained length of the type being
encoded. Pass -1 if the type is unconstrained.java.io.IOException
- for I/O exceptionAsn1ConsVioException
- if a constrained length is given and the
value is not exactly that length.Asn1MderUnsupported
- if the length is unconstrained and the actual
length > 65535 (maximum allowed by MDER).Asn1Exception