Bouncy Castle Cryptography 1.11

org.bouncycastle.asn1
Class DERUTCTime

java.lang.Object
  |
  +--org.bouncycastle.asn1.DERObject
        |
        +--org.bouncycastle.asn1.DERUTCTime
All Implemented Interfaces:
DEREncodable, DERTags

public class DERUTCTime
extends DERObject

UTC time object.


Fields inherited from interface org.bouncycastle.asn1.DERTags
BIT_STRING, BMP_STRING, BOOLEAN, CONSTRUCTED, EXTERNAL, GENERAL_STRING, GENERALIZED_TIME, GRAPHIC_STRING, IA5_STRING, INTEGER, NULL, NUMERIC_STRING, OBJECT_IDENTIFIER, OCTET_STRING, PRINTABLE_STRING, SEQUENCE, SEQUENCE_OF, SET, SET_OF, T61_STRING, TAGGED, UTC_TIME, VIDEOTEX_STRING, VISIBLE_STRING
 
Constructor Summary
DERUTCTime(java.lang.String time)
          The correct format for this is YYMMDDHHMMSSZ (it used to be that seconds were never encoded.
 
Method Summary
 java.lang.String getTime()
          return the time - always in the form of YYMMDDhhmmssGMT(+hh:mm|-hh:mm).
 
Methods inherited from class org.bouncycastle.asn1.DERObject
getDERObject
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

DERUTCTime

public DERUTCTime(java.lang.String time)
The correct format for this is YYMMDDHHMMSSZ (it used to be that seconds were never encoded. When you're creating one of these objects from scratch, that's what you want to use, otherwise we'll try to deal with whatever gets read from the input stream... (this is why the input format is different from the getTime() method output).

You can generate a Java date string in the right format by using:

      dateF = new SimpleDateFormat("yyMMddHHmmss");
      tz = new SimpleTimeZone(0, "Z");
     
      dateF.setTimeZone(tz);

      utcTime = new DERUTCTime(dateF.format(new Date()) + "Z");
 
Parameters:
time - the time string.
Method Detail

getTime

public java.lang.String getTime()
return the time - always in the form of YYMMDDhhmmssGMT(+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("yyMMddHHmmssz");
 
To read in the time and get a date which is compatible with our local time zone.

Bouncy Castle Cryptography 1.11