public class GeneralizedTime extends ASN1Object
GeneralizedTime is a simple useful ASN.1 string type identified by the UNIVERSAL TAG number 24.
An ASN.1 GeneralizedTime object is used to represent time values with a
higher precision than done by the UTCTime ASN.1 type (allows a precision
down to seconds). A GeneralizedTime value specifies the calendar date
according to ISO 2014 (year, month, day: YYYYMMDD), the time value
(any precision) and optionally the local time-shift against Coordinated
Universal Time (UTC time).
A Z
terminating the time value indicates that it corresponds
to UTC time.
For instance: local time is GMT and represents the twelfth November 1997 at 15:30:10,5p.m:
GeneralizedTime genTime = new GeneralizedTime("19971112153010.5Z");
Supposing a time-shift of two hours making the local time ahead from GMT, we may write:
GeneralizedTime genTime = new GeneralizedTime("19971112173010.5+0200");When calling the
getValue
method for getting the inherent
value from an ASN.1 GeneralizedTime instance, a Java object of type
String
is returned:
String timeStr = (String)genTime.getValue();DER en/decoding generally is done by means of the several methods of the
DerCoder
class; decoding alternatively may be performed by
using the DerInputStream
utility.ASN1Object
,
ASN
,
UTCTime
asnType, constructed, encode_listener, indefinite_length, isStringType, stream_mode
Modifier | Constructor and Description |
---|---|
protected |
GeneralizedTime()
Creates an empty object.
|
|
GeneralizedTime(java.lang.String value)
Creates a new ASN.1 GeneralizedTime object for the given Java String value.
|
|
GeneralizedTime(java.lang.String value,
boolean ensureDER)
Creates a new ASN.1 GeneralizedTime object for the given Java String value.
|
Modifier and Type | Method and Description |
---|---|
protected void |
decode(int length,
java.io.InputStream is)
Decodes a GeneralizedTime value from the given InputStream.
|
protected void |
encode(java.io.OutputStream os)
DER encodes this GerneralizedTime ASN1Object and writes the result to
given output stream.
|
java.lang.Object |
getValue()
Returns the value of this GeneralizedTime as a String.
|
void |
setValue(java.lang.Object object)
Sets the value of this GeneralizedTime.
|
java.lang.String |
toString()
Returns a string that represents the contents of this GeneralizedTime.
|
addComponent, addEncodeListener, clone, countComponents, encodeObject, getAsnType, getComponentAt, indefiniteLength, isA, isConstructed, isStringType, setIndefiniteLength
protected GeneralizedTime()
public GeneralizedTime(java.lang.String value)
value
- the String value this GeneralizedTime object should representpublic GeneralizedTime(java.lang.String value, boolean ensureDER) throws java.lang.IllegalArgumentException
value
- the String value this GeneralizedTime object should represent,ensureDER
- whether to check if the given time value represents a
valid DER (Distinguished Encoding Rules) formatted time valuejava.lang.IllegalArgumentException
- if the given time value does not represent a
valid DER (Distinguished Encoding Rules) formatted time valuepublic java.lang.Object getValue()
getValue
in class ASN1Object
public void setValue(java.lang.Object object)
String
.setValue
in class ASN1Object
object
- the String value this GeneralizedTime object shall representprotected void encode(java.io.OutputStream os) throws java.io.IOException
encode
methods of the
DerCoder
class for performing
the encoding, and the DerCoder internally will call this
encode
method.encode
in class ASN1Object
os
- the output stream to which to write the datajava.io.IOException
- if an I/O error occurs while writing to the streamprotected void decode(int length, java.io.InputStream is) throws java.io.IOException
length
bytes to be read represent the value of an
ASN.1 object of type GeneralizedTime.
This is a protected method and will not be used by
an application for decoding a DER encoded GeneralizedTime.
An application will call one of the decode
methods
of the DerCoder
class for performing
the decoding. The DerCoder then determines the number of
bytes (length
) occupied by the value of this GeneralizedTime
object and internally calls this decode
method for actually reading the value.
decode
in class ASN1Object
length
- the already decoded length, i.e. number of the bytes representing the
value of the GeneralizedTime to be decodedis
- the input stream from which the DER encoded data is read injava.io.IOException
- if there is a problem with the InputStreampublic java.lang.String toString()
toString
in class ASN1Object
ASN1Object.toString()