Bouncy Castle Cryptography Library 1.85

org.bouncycastle.asn1.cms
Class BinaryTime

java.lang.Object
  extended byorg.bouncycastle.asn1.ASN1Object
      extended byorg.bouncycastle.asn1.cms.BinaryTime
All Implemented Interfaces:
ASN1Encodable, Encodable

public class BinaryTime
extends ASN1Object

RFC 6019 type — the unsigned integer count of seconds since 1970-01-01T00:00:00Z (UTC). BinaryTime ::= INTEGER (0..MAX) Used by other LAMPS specifications that need a compact, monotonically increasing time value as part of an ASN.1 structure (e.g. RFC 9763 RequesterCertificate.requestTime). The companion CMS signed attribute OID is available as PKCSObjectIdentifiers.pkcs_9_at_binarySigningTime.


Constructor Summary
BinaryTime(ASN1Integer time)
           
BinaryTime(java.util.Date date)
          Construct a BinaryTime carrying the seconds-since-epoch of the supplied Date.
BinaryTime(long seconds)
          Construct a BinaryTime carrying the supplied count of seconds since 1970-01-01T00:00:00Z (UTC).
 
Method Summary
static BinaryTime getInstance(java.lang.Object obj)
           
 ASN1Integer getTime()
           
 ASN1Primitive toASN1Primitive()
          Method providing a primitive representation of this object suitable for encoding.
 java.util.Date toDate()
          Convert the encoded value to a Date.
 
Methods inherited from class org.bouncycastle.asn1.ASN1Object
encodeTo, encodeTo, equals, getEncoded, getEncoded, hasEncodedTagValue, hashCode
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

BinaryTime

public BinaryTime(java.util.Date date)
Construct a BinaryTime carrying the seconds-since-epoch of the supplied Date. Sub-second components are discarded by truncation toward negative infinity (consistent with Date.getTime() / 1000).

Throws:
java.lang.IllegalArgumentException - if is before the epoch (RFC 6019 prohibits negative values).

BinaryTime

public BinaryTime(long seconds)
Construct a BinaryTime carrying the supplied count of seconds since 1970-01-01T00:00:00Z (UTC).

Throws:
java.lang.IllegalArgumentException - if is negative.

BinaryTime

public BinaryTime(ASN1Integer time)
Method Detail

getInstance

public static BinaryTime getInstance(java.lang.Object obj)

getTime

public ASN1Integer getTime()
Returns:
the encoded value as a count of seconds since the Unix epoch. May exceed on a wildly out-of-range encoding; callers that only need a Date may prefer toDate() which rejects unrepresentable values.

toDate

public java.util.Date toDate()
Convert the encoded value to a Date.

Throws:
java.lang.ArithmeticException - if the seconds value does not fit in a after multiplication by 1000.

toASN1Primitive

public ASN1Primitive toASN1Primitive()
Description copied from class: ASN1Object
Method providing a primitive representation of this object suitable for encoding.

Specified by:
toASN1Primitive in interface ASN1Encodable
Specified by:
toASN1Primitive in class ASN1Object
Returns:
a primitive representation of this object.

Bouncy Castle Cryptography Library 1.85