public class UTCTime extends ASN1Object
UTCTime is a simple useful ASN.1 string type identified by the UNIVERSAL TAG number 23.
An ASN.1 UTCTime object may represent any coordinated universal time or Greenwich Mean Time (GMT) value. An UTCTime value specifies the calendar date (year, month, day: YYMMDD), the time value (hours, minutes and optionally seconds: hhmmss) and the time zone respectively time-shift: Z denotes that the local time corresponds to GMT, a time-shift is indicated by +/- <time value>.
For instance: local time is GMT and represents the twelfth November 1997 at 15:30:10p.m:
UTCTime utcTime = new UTCTime("971112153010Z");Supposing a time-shift of two hours making the local time ahead from GMT, we may write:
UTCTime utcTime = new UTCTime("971112173010+0200");Conforming systems shall interpret the year field (YY) as follows:
For higher precision use GeneralizedTime
.
When calling the getValue
method for getting the inherent
value from an ASN.1 UTCTime instance, a Java object of type
String
is returned:
String timeStr = (String)utcTime.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
,
GeneralizedTime
asnType, constructed, encode_listener, indefinite_length, isStringType, stream_mode
Modifier | Constructor and Description |
---|---|
protected |
UTCTime()
Creates an empty object.
|
|
UTCTime(java.lang.String value)
Creates a new ASN.1 UTCTime object for the given Java String value.
|
|
UTCTime(java.lang.String value,
boolean ensureDER)
Creates a new ASN.1 UTCTime object for the given Java String value.
|
Modifier and Type | Method and Description |
---|---|
protected void |
decode(int length,
java.io.InputStream is)
Decodes a UTCTime value from the given InputStream.
|
protected void |
encode(java.io.OutputStream os)
DER encodes this UTCTime ASN1Object and writes the result to the
given output stream.
|
java.lang.Object |
getValue()
Returns the value of this UTCTime as a String.
|
void |
setValue(java.lang.Object object)
Sets the value of this UTCTime.
|
java.lang.String |
toString()
Returns a string that represents the contents of this UTCTime ASN1Object.
|
addComponent, addEncodeListener, clone, countComponents, encodeObject, getAsnType, getComponentAt, indefiniteLength, isA, isConstructed, isStringType, setIndefiniteLength
protected UTCTime()
public UTCTime(java.lang.String value)
value
- the String value this UTCTime object should be initialized with,
e.g. "920622123421Z"public UTCTime(java.lang.String value, boolean ensureDER) throws java.lang.IllegalArgumentException
value
- the String value this UTCTime object should be initialized with,
e.g. "920622123421Z"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 UTCTime 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 UTCTime.
This is a protected method and will not be used by
an application for decoding a DER encoded UTCTime.
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 UTCTime
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()