Class ASN1GeneralizedTime
-
- All Implemented Interfaces:
-
io.anyline.nfc.bouncycastle.asn1.ASN1Encodable
,io.anyline.nfc.bouncycastle.util.Encodable
public class ASN1GeneralizedTime extends ASN1Primitive
Base class representing the ASN.1 GeneralizedTime type.
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'
This is what is called "restricted string", and it uses ASCII characters to encode digits and supplemental data. 11.7 GeneralizedTime11.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 Summary
Constructors Constructor Description ASN1GeneralizedTime(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. ASN1GeneralizedTime(Date time)
Base constructor from a java.util. ASN1GeneralizedTime(Date time, 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.
-
Method Summary
Modifier and Type Method Description static ASN1GeneralizedTime
getInstance(Object obj)
return a generalized time from the passed in object static ASN1GeneralizedTime
getInstance(ASN1TaggedObject taggedObject, boolean explicit)
return a Generalized Time object from a tagged object. String
getTimeString()
Return the time. String
getTime()
return the time - always in the form of YYYYMMDDhhmmssGMT(+hh:mm|-hh:mm). Date
getDate()
int
hashCode()
-
Methods inherited from class io.anyline.nfc.bouncycastle.asn1.ASN1Primitive
encodeTo, encodeTo, equals, equals, equals, fromByteArray, toASN1Primitive
-
Methods inherited from class io.anyline.nfc.bouncycastle.asn1.ASN1Object
equals, getEncoded, getEncoded
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
-
Constructor Detail
-
ASN1GeneralizedTime
ASN1GeneralizedTime(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.- Parameters:
time
- the time string.
-
ASN1GeneralizedTime
ASN1GeneralizedTime(Date time)
Base constructor from a java.util.- Parameters:
time
- a date object representing the time of interest.
-
ASN1GeneralizedTime
ASN1GeneralizedTime(Date time, 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.- Parameters:
time
- a date object representing the time of interest.locale
- an appropriate Locale for producing an ASN.1 GeneralizedTime value.
-
-
Method Detail
-
getInstance
static ASN1GeneralizedTime getInstance(Object obj)
return a generalized time from the passed in object
- Parameters:
obj
- an ASN1GeneralizedTime or an object that can be converted into one.- Returns:
an ASN1GeneralizedTime instance, or null.
-
getInstance
static ASN1GeneralizedTime getInstance(ASN1TaggedObject taggedObject, boolean explicit)
return a Generalized Time object from a tagged object.
- Parameters:
taggedObject
- the tagged object holding the object we wantexplicit
- true if the object is meant to be explicitly tagged false otherwise.- Returns:
an ASN1GeneralizedTime instance.
-
getTimeString
String getTimeString()
Return the time.
- Returns:
The time string as it appeared in the encoded object.
-
getTime
String getTime()
return the time - always in the form of YYYYMMDDhhmmssGMT(+hh:mm|-hh:mm).
Normally in a certificate we would expect "Z" rather than "GMT", however adding the "GMT" means we can just use:
To read in the time and get a date which is compatible with our local time zone.dateF = new SimpleDateFormat("yyyyMMddHHmmssz");
- Returns:
a String representation of the time.
-
hashCode
int hashCode()
-
-
-
-