|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object | +--iaik.asn1.structures.ChoiceOfTime
This class represents the ASN.1 structure "ChoiceOfTime".
ChoiceOfTime ::= CHOICE { utcTime UTCTime, generalTime GeneralizedTime }
This class handles both possible rules to encode a date. The encoding format should depend on the following rule:
Till year 2050 the date shall be encoded as UTCTime. After 2050 the date shall be encoded as GeneralizedTime.
Per default the encoding scheme of this class is set to UTCTime meaning that
per default the date value of a ChoiceOfTime object will be encoded as UTCTime.
However, an application may call the setEncodingType
method for enforcing a GeneralizedTime encoding, e.g.:
ChoiceOfTime choiceOfTime = new ChoiceOfTime(); choiceOfTime.setEncodingType(ASN.GeneralizedTime);This class supplies four constructors for specifying the Date to be represented by a ChoiceOfTime object:
constructor
creates a ChoiceOfTime
object
for the current date:
ChoiceOfTime choiceOfTime = new ChoiceOfTime();
constructor
that expects the Date specification as
java.util.Date instance, e.g.:
Date date = ...; ChoiceOfTime choiceOfTime = new ChoiceOfTime(date);
constructor
that contains a boolean
parameter do2050Encoding
that can be set to automatically encode
time values before 2050 as UTCTime and after 2050 as GeneralizedTime , e.g.:
Date date = ...; ChoiceOfTime choiceOfTime = new ChoiceOfTime(date, true);
constructor
where the Date may be supplied as string
representation of format "yyyyMMDDHHmmss" (year MonthOfYear DayOfMonth HourOfDay
minuteOfHour secondOfMinute) and an optional local time-shift against Coordinated
Universal Time (UTC time), which may be indicated by a plus (+) or minus (-) sign,
followed by hour and minute specifications, each of them owning two digits, e.g:
String timeStr = "19991003121730+0230"; ChoiceOfTime choiceOfTime = new ChoiceOfTime("19991003121730+0230",ASN.GeneralizedTime);The second argument above enforces that the Date has to be encoded as GeneralizedTime instead of UTCTime.
UTCTime
,
GeneralizedTime
Constructor Summary | |
ChoiceOfTime()
Creates a new ChoiceOfTime from the current Date. |
|
ChoiceOfTime(ASN1Object obj)
Creates a new ChoiceOfTime from an ASN1Object. |
|
ChoiceOfTime(Date date)
Creates a new ChoiceOfTime from the given Date. |
|
ChoiceOfTime(Date date,
ASN encodingType)
Creates a new ChoiceOfTime from the given Date using the specified encoding type. |
|
ChoiceOfTime(Date date,
boolean do2050Encoding)
Creates a new ChoiceOfTime from the given Date. |
|
ChoiceOfTime(String date,
ASN encodingType)
Creates a ChoiceOfTime for the given date, represented as string. |
Method Summary | |
Date |
getDate()
Returns the date this ChoiceOfTime represents. |
ASN |
getEncodingType()
Returns the encoding type, either UTCTime or GeneralizedTime. |
void |
setEncodingType(ASN encodingType)
Sets the encoding type. |
ASN1Object |
toASN1Object()
Returns the value of this object as an ASN1Object. |
String |
toString()
Returns a string that represents the contents of the extensions. |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Constructor Detail |
public ChoiceOfTime()
Per default the encoding scheme is set to UTCTime.
Use the setEncodingType
method for enforcing a GeneralizedTime encoding.
public ChoiceOfTime(Date date)
Per default the encoding scheme is set to UTCTime.
Use the setEncodingType
method for enforcing a GeneralizedTime encoding.
date
- the desired datepublic ChoiceOfTime(Date date, boolean do2050Encoding)
Per default the encoding scheme is set to UTCTime.
Use the setEncodingType
method for enforcing a GeneralizedTime encoding.
If do2050Encoding
is set to true
automatically time values before 2050 are encoded as UTCTime
and after 2050 as GeneralizedTime, e.g.:
Date date = ...; ChoiceOfTime choiceOfTime = new ChoiceOfTime(date, true);
date
- the desired datedo2050Encoding
- whether to automatically switch to GeneralizedTime
for dates beyound 2050public ChoiceOfTime(Date date, ASN encodingType)
date
- the desired dateencodingType
- the encoding type, either UTCTime or GeneralizedTimeIllegalArgumentException
- if the supplied encoding type is not UTCTime
or GeneralizedTimepublic ChoiceOfTime(String date, ASN encodingType) throws ParseException
String timeStr = "19991003121730+0230"; ChoiceOfTime choiceOfTime = new ChoiceOfTime("19991003121730+0230",ASN.GeneralizedTime);The second argument above enforces that the Date has to be encoded as GeneralizedTime instead of UTCTime.
date
- the string containing the dateencodingType
- the encoding type, either UTCTime or GeneralizedTimeParseException
- if the format of the date is not correctIllegalArgumentException
- if the supplied encoding type is not UTCTime
or GeneralizedTimepublic ChoiceOfTime(ASN1Object obj) throws CodingException
toASN1Object()
method.obj
- the ChoiceOfTime as ASN1ObjectCodingException
- if the ASN1Object could not be parsedMethod Detail |
public ASN1Object toASN1Object()
public ASN getEncodingType()
public void setEncodingType(ASN encodingType) throws IllegalArgumentException
Please note that when you have created a ChoiceOfTime of type UTCTime and now
change to GeneralizedTime, the millisecond value may be zero; so it might be
perferable to set the encoding type right from the beginning when creating
a ChoiceOfTime object.
encodingType
- the encoding typeIllegalArgumentException
- if the supplied encoding type is not UTCTime
or GeneralizedTimepublic Date getDate()
public String toString()
toString
in class Object
|
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). | ||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |