BinaryTime: An Alternate Format for Representing Date and Time in ASN.1
RFC 6019

Document Type RFC - Proposed Standard (September 2010; No errata)
Obsoletes RFC 4049
Author Russ Housley 
Last updated 2013-03-02
Stream IETF
Formats plain text html pdf htmlized bibtex
Stream WG state (None)
Document shepherd No shepherd assigned
IESG IESG state RFC 6019 (Proposed Standard)
Consensus Boilerplate Unknown
Telechat date
Responsible AD (None)
Send notices to (None)
Internet Engineering Task Force (IETF)                        R. Housley
Request for Comments: 6019                                Vigil Security
Obsoletes: 4049                                           September 2010
Category: Standards Track
ISSN: 2070-1721

      An Alternate Format for Representing Date and Time in ASN.1


   This document specifies a new ASN.1 type for representing time:
   BinaryTime.  This document also specifies an alternate to the
   signing-time attribute for use with the Cryptographic Message Syntax
   (CMS) SignedData and AuthenticatedData content types; the binary-
   signing-time attribute uses BinaryTime.  CMS and the signing-time
   attribute are defined in RFC 5652.

Status of This Memo

   This is an Internet Standards Track document.

   This document is a product of the Internet Engineering Task Force
   (IETF).  It represents the consensus of the IETF community.  It has
   received public review and has been approved for publication by the
   Internet Engineering Steering Group (IESG).  Further information on
   Internet Standards is available in Section 2 of RFC 5741.

   Information about the current status of this document, any errata,
   and how to provide feedback on it may be obtained at

Copyright Notice

   Copyright (c) 2010 IETF Trust and the persons identified as the
   document authors.  All rights reserved.

   This document is subject to BCP 78 and the IETF Trust's Legal
   Provisions Relating to IETF Documents
   ( in effect on the date of
   publication of this document.  Please review these documents
   carefully, as they describe your rights and restrictions with respect
   to this document.  Code Components extracted from this document must
   include Simplified BSD License text as described in Section 4.e of
   the Trust Legal Provisions and are provided without warranty as
   described in the Simplified BSD License.

Housley                      Standards Track                    [Page 1]
RFC 6019                       BinaryTime                 September 2010

1.  Introduction

   This document specifies a new ASN.1 [ASN1] type for representing
   time: BinaryTime.  This ASN.1 type can be used to represent date and
   time values.

   This document also specifies an alternative to the signing-time
   attribute used with the Cryptographic Message Syntax [CMS] SignedData
   and AuthenticatedData content types, allowing the BinaryTime type to
   be used instead of the traditional UTCTime and GeneralizedTime types.

1.1.  BinaryTime

   Many operating systems represent date and time as an integer.  This
   document specifies an ASN.1 type for representing date and time in a
   manner that is also an integer.  Although some conversion may be
   necessary due to the selection of a different epoch or a different
   granularity, an integer representation has several advantages over
   the UTCTime and GeneralizedTime types.

   First, a BinaryTime value is smaller than either a UTCTime or a
   GeneralizedTime value.

   Second, in some operating systems, the value can be used with little
   or no conversion.  Conversion, when it is needed, requires only
   straightforward computation.  If the endian ordering is different
   from the ASN.1 representation of an INTEGER, then straightforward
   manipulation is needed to obtain an equivalent integer value.  If the
   epoch is different than the one chosen for BinaryTime, addition or
   subtraction is needed to compensate.  If the granularity is something
   other than seconds, then multiplication or division is needed to
   compensate.  Also, padding may be needed to convert the variable-
   length ASN.1 encoding of INTEGER to a fixed-length value used in the
   operating system.

   Third, date comparison is very easy with BinaryTime.  Integer
   comparison is easy, even when multi-precision integers are involved.
   Date comparison with UTCTime or GeneralizedTime can be complex when
   the two values to be compared are provided in different time zones.

   This is a rare instance in which both memory and processor cycles can
   be saved.

1.2.  Binary Signing Time Attribute

   The signing-time attribute is defined in [CMS].  The alternative
   binary-signing-time attribute is defined in this document in order to
   obtain the benefits of the BinaryTime type.

Housley                      Standards Track                    [Page 2]
RFC 6019                       BinaryTime                 September 2010

1.3.  Terminology

   The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
   document are to be interpreted as described in RFC 2119 [STDWORDS].

2.  BinaryTime Definition

   The BinaryTime ASN.1 type is used to represent an absolute time and
   date.  A positive integer value is used to represent time values
Show full document text