Class DERGeneralizedTime

All Implemented Interfaces:
DEREncodable, DERTags

public class DERGeneralizedTime extends ASN1Object
Generalized time object.
  • Field Details

  • Constructor Details

    • DERGeneralizedTime

      public DERGeneralizedTime(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. The fractional second amount f must consist of at least one number with trailing zeroes removed.
      Parameters:
      time - the time string.
      Throws:
      IllegalArgumentException - if String is an illegal format.
    • DERGeneralizedTime

      public DERGeneralizedTime(Date time)
      base constructer from a java.util.date object
    • DERGeneralizedTime

      DERGeneralizedTime(byte[] bytes)
  • Method Details

    • getInstance

      public static DERGeneralizedTime getInstance(Object obj)
      return a generalized time from the passed in object
      Throws:
      IllegalArgumentException - if the object cannot be converted.
    • getInstance

      public static DERGeneralizedTime getInstance(ASN1TaggedObject obj, boolean explicit)
      return a Generalized Time object from a tagged object.
      Parameters:
      obj - the tagged object holding the object we want
      explicit - true if the object is meant to be explicitly tagged false otherwise.
      Throws:
      IllegalArgumentException - if the tagged object cannot be converted.
    • getTimeString

      public String getTimeString()
      Return the time.
      Returns:
      The time string as it appeared in the encoded object.
    • getTime

      public 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:

           dateF = new SimpleDateFormat("yyyyMMddHHmmssz");
       
      To read in the time and get a date which is compatible with our local time zone.
    • calculateGMTOffset

      private String calculateGMTOffset()
    • convert

      private String convert(int time)
    • getDate

      public Date getDate() throws ParseException
      Throws:
      ParseException
    • hasFractionalSeconds

      private boolean hasFractionalSeconds()
    • getOctets

      private byte[] getOctets()
    • encode

      void encode(DEROutputStream out) throws IOException
      Specified by:
      encode in class ASN1Object
      Throws:
      IOException
    • asn1Equals

      boolean asn1Equals(DERObject o)
      Specified by:
      asn1Equals in class ASN1Object
    • hashCode

      public int hashCode()
      Specified by:
      hashCode in class ASN1Object