iaik.asn1
Class GeneralizedTime

java.lang.Object
  |
  +--iaik.asn1.ASN1Object
        |
        +--iaik.asn1.GeneralizedTime
All Implemented Interfaces:
Cloneable

public class GeneralizedTime
extends ASN1Object

This class implements the native ASN.1 type "GeneralizedTime".

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 lokal 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.

Version:
File Revision 18
See Also:
ASN1Object, ASN, UTCTime

Fields inherited from class iaik.asn1.ASN1Object
asnType, constructed, encode_listener, indefinite_length, isStringType, stream_mode
 
Constructor Summary
protected GeneralizedTime()
          Creates an empty object.
  GeneralizedTime(String value)
          Creates a new ASN.1 GeneralizedTime object for the given Java String value.
 
Method Summary
protected  void decode(int length, InputStream is)
          Decodes a GeneralizedTime value from the given InputStream.
protected  void encode(OutputStream os)
          DER encodes this GerneralizedTime ASN1Object and writes the result to given output stream.
 Object getValue()
          Returns the value of this GeneralizedTime as a String.
 void setValue(Object object)
          Sets the value of this GeneralizedTime.
 String toString()
          Returns a string that represents the contents of this GeneralizedTime.
 
Methods inherited from class iaik.asn1.ASN1Object
addComponent, addEncodeListener, clone, countComponents, encodeObject, getAsnType, getComponentAt, indefiniteLength, isA, isConstructed, isStringType, setIndefiniteLength
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

GeneralizedTime

protected GeneralizedTime()
Creates an empty object.

GeneralizedTime

public GeneralizedTime(String value)
Creates a new ASN.1 GeneralizedTime object for the given Java String value.
Parameters:
value - the String value this GeneralizedTime object should represent
Method Detail

getValue

public Object getValue()
Returns the value of this GeneralizedTime as a String.
Overrides:
getValue in class ASN1Object
Returns:
the value of this GeneralizedTime as a String object

setValue

public void setValue(Object object)
Sets the value of this GeneralizedTime. The supplied value has to be a Java object of type String.
Overrides:
setValue in class ASN1Object
Parameters:
value - the String value this GeneralizedTime object shall represent

encode

protected void encode(OutputStream os)
               throws IOException
DER encodes this GerneralizedTime ASN1Object and writes the result to given output stream. This is a protected method and will not be used by an application for DER encoding a GenerailzedTime object. An application will call one of the encode methods of the DerCoder class for performing the encoding, and the DerCoder internally will call this encode method.
Overrides:
encode in class ASN1Object
Parameters:
os - the output stream to which to write the data
Throws:
IOException - if an I/O error occurs while writing to the stream

decode

protected void decode(int length,
                      InputStream is)
               throws IOException
Decodes a GeneralizedTime value from the given InputStream. The given input stream carries DER encoded data, and the next 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.

Overrides:
decode in class ASN1Object
Parameters:
length - the already decoded length, i.e. number of the bytes representing the value of the GeneralizedTime to be decoded
is - the input stream from which the DER encoded data is read in
Throws:
IOException - if there is a problem with the InputStream

toString

public String toString()
Returns a string that represents the contents of this GeneralizedTime.
Overrides:
toString in class ASN1Object
Returns:
the string representation
See Also:
ASN1Object.toString()

This Javadoc may contain text parts from Internet Standard specifications (RFC 2459, 3280, 3039, 2560, 1521, 821, 822, 2253, 1319, 1321, ,2630, 2631, 2268, 3058, 2984, 2104, 2144, 2040, 2311, 2279, see copyright note) and RSA Data Security Public-Key Cryptography Standards (PKCS#1,3,5,7,8,9,10,12, see copyright note).

IAIK-JCE 3.1 with IAIK-JCE CC Core 3.1, (c) 1997-2004 IAIK