public class ASN1GeneralizedTime extends ASN1Primitive
The main difference between these and UTC time is a 4 digit year.
One second resolution date+time on UTC timezone (Z) with 4 digit year (valid from 0001 to 9999).
Timestamp format is: yyyymmddHHMMSS'Z'
11.7.1 The encoding shall terminate with a "Z", as described in the ITU-T Rec. X.680 | ISO/IEC 8824-1 clause on GeneralizedTime.
11.7.2 The seconds element shall always be present.
11.7.3 The fractional-seconds elements, if present, shall omit all trailing zeros; if the elements correspond to 0, they shall be wholly omitted, and the decimal point element also shall be omitted.
Constructor and Description |
---|
ASN1GeneralizedTime(java.util.Date time)
Base constructor from a java.util.date object
|
ASN1GeneralizedTime(java.util.Date time,
java.util.Locale locale)
Base constructor from a java.util.date and Locale - you may need to use this if the default locale
doesn't use a Gregorian calender so that the GeneralizedTime produced is compatible with other ASN.1 implementations.
|
ASN1GeneralizedTime(java.lang.String time)
The correct format for this is YYYYMMDDHHMMSS[.f]Z, or without the Z
for local time, or Z+-HHMM on the end, for difference between local
time and UTC time.
|
Modifier and Type | Method and Description |
---|---|
java.util.Date |
getDate() |
static ASN1GeneralizedTime |
getInstance(ASN1TaggedObject taggedObject,
boolean explicit)
return a Generalized Time object from a tagged object.
|
static ASN1GeneralizedTime |
getInstance(java.lang.Object obj)
return a generalized time from the passed in object
|
java.lang.String |
getTime()
return the time - always in the form of
YYYYMMDDhhmmssGMT(+hh:mm|-hh:mm).
|
java.lang.String |
getTimeString()
Return the time.
|
protected boolean |
hasFractionalSeconds() |
int |
hashCode() |
protected boolean |
hasMinutes() |
protected boolean |
hasSeconds() |
encodeTo, encodeTo, equals, equals, equals, fromByteArray, toASN1Primitive
getEncoded, getEncoded, hasEncodedTagValue
public ASN1GeneralizedTime(java.lang.String time)
time
- the time string.java.lang.IllegalArgumentException
- if String is an illegal format.public ASN1GeneralizedTime(java.util.Date time)
time
- a date object representing the time of interest.public ASN1GeneralizedTime(java.util.Date time, java.util.Locale locale)
time
- a date object representing the time of interest.locale
- an appropriate Locale for producing an ASN.1 GeneralizedTime value.public static ASN1GeneralizedTime getInstance(java.lang.Object obj)
obj
- an ASN1GeneralizedTime or an object that can be converted into one.java.lang.IllegalArgumentException
- if the object cannot be converted.public static ASN1GeneralizedTime getInstance(ASN1TaggedObject taggedObject, boolean explicit)
taggedObject
- the tagged object holding the object we wantexplicit
- true if the object is meant to be explicitly tagged false
otherwise.java.lang.IllegalArgumentException
- if the tagged object cannot be converted.public java.lang.String getTimeString()
public java.lang.String getTime()
Normally in a certificate we would expect "Z" rather than "GMT", however adding the "GMT" means we can just use:
dateF = new SimpleDateFormat("yyyyMMddHHmmssz");To read in the time and get a date which is compatible with our local time zone.
public java.util.Date getDate() throws java.text.ParseException
java.text.ParseException
protected boolean hasFractionalSeconds()
protected boolean hasSeconds()
protected boolean hasMinutes()
public int hashCode()
hashCode
in class ASN1Primitive