<?xml version="1.0" encoding="utf-8"?>
  <?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
  <!-- generated by https://github.com/cabo/kramdown-rfc2629 version 1.3.15 -->

<!DOCTYPE rfc SYSTEM "rfc2629.dtd" [
<!ENTITY RFC2119 SYSTEM "https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.2119.xml">
<!ENTITY RFC5280 SYSTEM "https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.5280.xml">
<!ENTITY RFC7049 SYSTEM "https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.7049.xml">
<!ENTITY RFC7925 SYSTEM "https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.7925.xml">
<!ENTITY RFC8152 SYSTEM "https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.8152.xml">
<!ENTITY RFC8174 SYSTEM "https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.8174.xml">
<!ENTITY RFC8446 SYSTEM "https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.8446.xml">
<!ENTITY RFC8610 SYSTEM "https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.8610.xml">
<!ENTITY RFC8742 SYSTEM "https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.8742.xml">
<!ENTITY I-D.ietf-tls-dtls13 SYSTEM "https://xml2rfc.tools.ietf.org/public/rfc/bibxml3/reference.I-D.ietf-tls-dtls13.xml">
<!ENTITY I-D.ietf-tls-certificate-compression SYSTEM "https://xml2rfc.tools.ietf.org/public/rfc/bibxml3/reference.I-D.ietf-tls-certificate-compression.xml">
<!ENTITY RFC7228 SYSTEM "https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.7228.xml">
<!ENTITY I-D.ietf-cose-x509 SYSTEM "https://xml2rfc.tools.ietf.org/public/rfc/bibxml3/reference.I-D.ietf-cose-x509.xml">
<!ENTITY I-D.ietf-lake-edhoc SYSTEM "https://xml2rfc.tools.ietf.org/public/rfc/bibxml3/reference.I-D.ietf-lake-edhoc.xml">
]>

<?rfc toc="yes"?>
<?rfc sortrefs="yes"?>
<?rfc symrefs="yes"?>
<?rfc tocdepth="2"?>

<rfc ipr="trust200902" docName="draft-mattsson-cose-cbor-cert-compress-03" category="std">

  <front>
    <title>CBOR Encoding of X.509 Certificates (CBOR Certificates)</title>

    <author initials="S." surname="Raza" fullname="Shahid Raza">
      <organization>RISE AB</organization>
      <address>
        <email>shahid.raza@ri.se</email>
      </address>
    </author>
    <author initials="J." surname="Höglund" fullname="Joel Höglund">
      <organization>RISE AB</organization>
      <address>
        <email>joel.hoglund@ri.se</email>
      </address>
    </author>
    <author initials="G." surname="Selander" fullname="Göran Selander">
      <organization>Ericsson AB</organization>
      <address>
        <email>goran.selander@ericsson.com</email>
      </address>
    </author>
    <author initials="J." surname="Mattsson" fullname="John Preuß Mattsson">
      <organization>Ericsson AB</organization>
      <address>
        <email>john.mattsson@ericsson.com</email>
      </address>
    </author>
    <author initials="M." surname="Furuhed" fullname="Martin Furuhed">
      <organization>Nexus Group</organization>
      <address>
        <email>martin.furuhed@nexusgroup.com</email>
      </address>
    </author>

    <date year="2020" month="November" day="15"/>

    
    
    

    <abstract>


<t>This document specifies a CBOR encoding of PKIX profiled X.509 Certificates. The resulting certificates are called “CBOR certificates”. The CBOR encoding supports a large subset of RFC 5280, while at the same time producing very small sizes for certificates compatible with RFC 7925. The CBOR encoding can be used to compress DER encoded X.509 certificated to encode natively signed certificated. When uses to compress DER encoded X.509 certificates, the CBOR encoding can in many cases compress RFC 7925 profiled certificates with over 50%. The document also specifies COSE headers for CBOR certificates as well as a TLS certificate type for CBOR certificates.</t>



    </abstract>


  </front>

  <middle>


<section anchor="intro" title="Introduction">

<t>One of the challenges with deploying a Public Key Infrastructure (PKI) for the Internet of Things (IoT) is the size and encoding of X.509 public key certificates <xref target="RFC5280"/>, since those are not optimized for constrained environments <xref target="RFC7228"/>. More compact certificate representations are desirable. Due to the current PKI usage of DER encoded X.509 certificates, keeping compatibility with DER encoded X.509 is necessary at least for a transition period. However, the use of a more compact encoding with the Concise Binary Object Representation (CBOR) <xref target="RFC7049"/> reduces the certificate size significantly which has known performance benefits in terms of decreased communication overhead, power consumption, latency, storage, etc.</t>

<t>CBOR is a data format designed for small code size and small message size. CBOR builds on the JSON data model but extends it by e.g. encoding binary data directly without base64 conversion. In addition to the binary CBOR encoding, CBOR also has a diagnostic notation that is readable and editable by humans. The Concise Data Definition Language (CDDL) <xref target="RFC8610"/> provides a way to express structures for protocol messages and APIs that use CBOR. <xref target="RFC8610"/> also extends the diagnostic notation.</t>

<t>CBOR data items are encoded to or decoded from byte strings using a type-length-value encoding scheme, where the three highest order bits of the initial byte contain information about the major type. CBOR supports several different types of data items, in addition to integers (int, uint), simple values (e.g. null), byte strings (bstr), and text strings (tstr), CBOR also supports arrays [] of data items, maps {} of pairs of data items, and sequences of data items. For a complete specification and examples, see <xref target="RFC7049"/>, <xref target="RFC8610"/>, and <xref target="RFC8742"/>.</t>

<t>RFC 7925 <xref target="RFC7925"/> specifies a certificate profile for Internet of Things deployments which can be applied for lightweight certificate based authentication with e.g. TLS <xref target="RFC8446"/>, DTLS <xref target="I-D.ietf-tls-dtls13"/>, COSE <xref target="RFC8152"/>, or EDHOC <xref target="I-D.ietf-lake-edhoc"/>. This document specifies a CBOR encoding which can support large parts of <xref target="RFC5280"/> based on <xref target="X.509-IoT"/>. The encoding support all <xref target="RFC7925"/> profiled X.509 certificates. Two variants are defined using the same CBOR encoding and differing only in what is being signed:</t>

<t><list style="symbols">
  <t>CBOR compression of DER encoded X.509 certificates <xref target="RFC5280"/>, which can be decompressed into the original DER encoded X.509 certificate.</t>
  <t>Natively signed CBOR certificates, which further optimizes the performance in constrained environments but is not backwards compatible with <xref target="RFC5280"/>, see <xref target="native-CBOR"/>.</t>
</list></t>

<t>This document specifies COSE headers for use of the CBOR certificates with COSE, see <xref target="cose"/>. The document also specifies a TLS certificate type for use of the CBOR certificates with TLS (with or without additional TLS certificate compression), see <xref target="tls"/>.</t>

</section>
<section anchor="notational-conventions" title="Notational Conventions">

<t>The key words “MUST”, “MUST NOT”, “REQUIRED”, “SHALL”, “SHALL NOT”, “SHOULD”, “SHOULD NOT”, “RECOMMENDED”, “NOT RECOMMENDED”, “MAY”, and “OPTIONAL” in this document are to be interpreted as described in BCP 14 <xref target="RFC2119"/> <xref target="RFC8174"/> when, and only when, they appear in all capitals, as shown here.</t>

<t>This specification makes use of the terminology in <xref target="RFC5280"/>, <xref target="RFC7049"/>, <xref target="RFC7228"/>, and <xref target="RFC8610"/>.</t>

</section>
<section anchor="encoding" title="CBOR Encoding">

<t>This section specifies the content and encoding for CBOR certificates, with the overall objective to produce a very compact representation supporting large parts of <xref target="RFC5280"/> and everything in <xref target="RFC7925"/>. In the CBOR encoding, static fields are elided, elliptic curve points are compressed, OID are replaced with short integers, time values are compressed, and redundant encoding is removed. Combining these different components reduces the certificate size significantly, which is not possible with general purpose compressions algorithms, see <xref target="fig-table"/>.</t>

<t>The CBOR certificate can be either a CBOR compressed X.509 certificate, in which case the signature is calculated on the DER encoded ASN.1 data in the X.509 certificate, or a natively signed CBOR certificate, in which case the signature is calculated directly on the CBOR encoded data (see <xref target="native-CBOR"/>). In both cases the certificate content is adhering to the restrictions given by <xref target="RFC5280"/>. When used as for compression of an existing X.509 certificate, the encoding only works on canonical encoded certificates. The encoding is known to work with DER but might work with other canonical encodings. The compression does not work for BER encoded certificates.</t>

<t>In the encoding described below the order of elements in arrays are always encoded in the same order as the elements or the corresponding SEQUENCE or SET in the DER encoding.</t>

<section anchor="message-fields" title="Message Fields">

<t>The X.509 fields and their CBOR encodings are listed below.</t>

<t>CBOR certificates are defined in terms of DER encoded <xref target="RFC5280"/> X.509 certificates:</t>

<t><list style="symbols">
  <t>version. The ‘version’ field is known (fixed to v3) and is omitted in the CBOR encoding.</t>
  <t>serialNumber. The ‘serialNumber’ INTEGER value field is encoded as a CBOR byte string ‘certificateSerialNumber’. Any leading 0x00 byte (to indicate that the number is not negative) is omitted.</t>
  <t>signatureAlgorithm. The ‘signatureAlgorithm’ field is encoded as a CBOR int ‘issuerSignatureAlgorithm’ (see <xref target="sigalg"/>) or a relativeOID byte string. Algorithms with parameters are not supported except RSA algorithms that use parameters = NULL.</t>
  <t>signature. The ‘signature’ field is always the same as the ‘signatureAlgorithm’ field and always omitted from the CBOR encoding.</t>
  <t>issuer. In the general case, the sequence of ‘RelativeDistinguishedName’ is encoded as CBOR array of CBOR arrays of Attributes, where each Attribute type and value is encoded as a (CBOR int, CBOR text string) pair. Each AttributeType is encoded as a CBOR int (see <xref target="fig-attrtype"/>), where the sign is used to represent the character string type; positive for printableString, negative for utf8String. The string types teletexString, universalString, and bmpString are not supported. If exactly one ‘RelativeDistinguishedName’ is present, the outer array is omitted, and issuer is encoded as a single CBOR array. If a RelativeDistinguishedName contains a single Attribute containing an utf8String encoded ‘common name’, the int is omitted and the Attribute is encoded as a single CBOR text string. If the utf8String encoded ‘common name’ contains an EUI-64 mapped from a 48-bit MAC address (i.e. of the form “hh-hh-hh-FF-FE-hh-hh-hh) it is encoded as a CBOR byte string of length 6. Other EUI-64 is encoded as a CBOR byte string of length 8.</t>
  <t>validity. The ‘notBefore’ and ‘notAfter’ fields are ASCII string of the form “yymmddHHMMSSZ” for UTCTime and “yyyymmddHHMMSSZ” for GeneralizedTime. They are encoded as unsigned integers using the following invertible encoding (Horner’s method with different bases).  <vspace blankLines='1'/>
n = SS + 61 * (MM + 60 * (HH + 24 * (dd + 32 * (mm + 13 * (yy)yy))))  <vspace blankLines='1'/>
They are encoded as a byte string, which is interpreted as an unsigned integer n in network byte order. UTCTime and GeneralizedTime are encoded as a byte strings of length 4 and 5 respectively. Decoding can be done by a succession of modulo and subtraction operations. I.e. SS = n mod 61, MM = ((n - SS) / 61) mod 60, etc.</t>
  <t>subject. The ‘subject’ is encoded exactly like issuer.</t>
  <t>subjectPublicKeyInfo.  The ‘algorithm’ field is encoded as the CBOR int ‘subjectPublicKeyAlgorithm’ (see <xref target="pkalg"/>) or a relativeOID byte string. Algorithms with parameters are not supported except id-ecPublicKey with named curves and the RSA algorithms that use parameters = NULL. For id-ecPublicKey the namedCurve parameter is encoded in the CBOR int. The ‘subjectPublicKey’ BIT STRING value field is encoded as a CBOR byte string. This specification assumes the BIT STRING has zero unused bits and the unused bits byte is omitted. Uncompressed public keys of type id-ecPublicKey are point compressed as defined in Section 2.3.3 of <xref target="SECG"/>.<vspace />
If a DER encoded certificate with a point compressed public key of type id-ecPublicKey is comreseed, the octets 0xfe and 0xfd are used instead of 0x02 and 0x03 in the CBOR encoding to represent a even and off y-coordinate respectively.</t>
  <t>extensions. The ‘extensions’ field is encoded as a CBOR array where each extension is encoded as either a registered extension (an CBOR int followed by an optional CBOR item of any type) or a raw extension (a relative OID byte string, a bool, and a the DER encoved value of ‘extnValue’). If the array contains exactly one int, the array is omitted. Extensions are encoded as specified in <xref target="ext-encoding"/>. The extensions mandated to be supported by <xref target="RFC7925"/> are given special treatment.</t>
  <t>signatureValue. The ‘signatureValue’ BIT STRING value field is encoded as the CBOR byte string issuerSignatureValue. This specification assumes the BIT STRING has zero unused bits and the unused bits byte is omitted. ECDSA signatures are given special treatment. For ECDSA signatures the SEQUENCE and INTEGER type and length fields are omitted and the two INTEGER value fields are padded to the fixed length L = ceil( log2(n) / 8 ), where n is the size of the largest prime-order subgroup. For secp256r1, secp384r1, and secp521r1, L is 32, 48, and 66 respectively. For natively signed CBOR certificates the signatureValue is calculated over the CBOR sequence TBSCertificate.</t>
</list></t>

<t>In addition to the above fields present in X.509, the CBOR encoding introduces an additional field:</t>

<t><list style="symbols">
  <t>cborCertificateType. A CBOR int used to indicate the type of CBOR certificate. Currently, type can be a natively signed CBOR certificate (cborCertificateType = 0) or a CBOR compressed X.509 certificates (cborCertificateType = 1), see <xref target="type"/>.</t>
</list></t>

<t>The following Concise Data Definition Language (CDDL) defines CBORCertificate and TBSCertificate, which are encoded as CBOR Sequences <xref target="RFC8742"/>. The member names therefore only have documentary value.</t>

<figure><artwork type="CDDL"><![CDATA[
; This defines an array, the elements of which are to be used in a CBOR Sequence:
CBORCertificate = [
   TBSCertificate,
   issuerSignatureValue : bytes,
]

TBSCertificate = (
   cborCertificateType : int,
   certificateSerialNumber : bytes,
   issuerSignatureAlgorithm : Algorithm,
   issuer : Name,
   validityNotBefore : bytes,
   validityNotAfter : bytes,
   subject : Name,
   subjectPublicKeyAlgorithm : Algorithm,
   subjectPublicKey : bytes,
   extensions : [ * Extension ] / int,
)

Algorithm = int / relativeOID

relativeOID = bytes

Name = [ * RelativeDistinguishedName ] / RelativeDistinguishedName

RelativeDistinguishedName = [ + Attribute ] / text / bytes

Attribute = (
   attributeType : int,
   attributeValue : text,
)

Extension = ExtensionReg // ExtensionRaw

ExtensionReg = (
   extensionType : int,
   ? extensionValue : any, ; optionality and type known from extensionType
)

ExtensionRaw = (
   extensionID : relativeOID,
   ? critical : bool,
   ? extensionValue : bytes,
)
]]></artwork></figure>

</section>
<section anchor="ext-encoding" title="Encoding of Extensions">

<t>EDITOR’S NOTE: The current specification encodes many common extensions with a DER encoded byte string. It should be discussed if more or all commonly active extensions should be natively encoded with CBOR. Would an specific CBOR encoding have to be specified for each extension or can a general CBOR encoding that apply to all remaining extensions be specified?</t>

<t>This section details the encoding of the ‘extensions’ field. The ‘extensions’ field is encoded as a CBOR array where each extension is encoded as either a registered extension (an CBOR int followed by an optional CBOR item of any type) or a raw extension (a relative OID byte string, a bool, and a the DER encoved value of ‘extnValue’). For registered extensions each ‘extnID’ field is encoded as a CBOR int (see <xref target="extype"/>), where the sign is used to encode if the extension ‘critical’ field. Critical extensions are encoded with a positive sign and non-critical extensions are encoded with a negative sign. If the array contains exactly one int, the array is omitted. The ‘extnValue’ OCTET STREAM value field is encoded as the CBOR byte string ‘extensionValue’ except for the extensions specified below.</t>

<t>The extensions mandated to be supported by <xref target="RFC7925"/> are given special treatment. Below the boolean values (cA, digitalSignature, keyAgreement, etc.) are set to 0 or 1 according to their value in the DER encoding.:</t>

<t><list style="symbols">
  <t>basicConstraints. A basic constrained with ‘cA’ = false is encoded as extensionType = 1, a basic constrained with ‘cA’ = true without ‘pathLenConstraint’ is encoded as extensionType = 2, and a basic constrained with ‘cA’ = true with ‘pathLenConstraint’ is encoded as extensionType = 3 followed by and int extensionValue encoding the value of ‘pathLenConstraint’.</t>
  <t>keyUsage. The extensionType is encoded as below. If none of the bits except digitalSignature, keyAgreement, and keyCertSign are set, the extensionValue is omitted. Otherwise the ‘KeyUsage’ BIT STRING is interpreted as an unsigned integer n in network byte order and encoded as a CBOR int.</t>
</list></t>

<figure><artwork><![CDATA[
   extensionType = 4 + digitalSignature
            + 2 * keyAgreement + 4 * keyCertSign
]]></artwork></figure>

<t><list style="symbols">
  <t>extKeyUsage. extensionType is encoded as defined by <xref target="extype"/> and extensionValue is encoded as an array of ints or relativeOID where each ints or relativeOID encodes a key usage purpose (see <xref target="EKU"/> for registered ints). If the array contains a single item, the array is omitted.</t>
</list></t>

<figure><artwork><![CDATA[
   extensionValue = [ * int / relativeOID ] / int / relativeOID
]]></artwork></figure>

<t><list style="symbols">
  <t>subjectAltName. extensionType is encoded as defined by <xref target="extype"/> and extensionValue is encoded as an [ * ( int, any ) ] array where each (int, any) pair encodes a general name (see <xref target="SAN"/>). If subjectAltName contains exactly one dNSName, the array and the int are omitted and extensionValue is the dNSName encoded as a CBOR text string.</t>
</list></t>

<t>Consequently:</t>

<t><list style="symbols">
  <t>A critical basicConstraints (cA = 1) without pathLenConstraint is encoded as the CBOR int -2.</t>
  <t>A non-critical keyUsage with only keyAgreement asserted is encoded as the CBOR int 6 (= 4 + 2).</t>
  <t>A non-critical extKeyUsage containing id-kp-codeSigning and id-kp-OCSPSigning is encoded as the CBOR int 12 followed by the CBOR array [ 3, 6 ].</t>
  <t>A non-critical subjectAltName containing only the dNSName example.com is encoded as the CBOR int 13 followed by the CBOR text string “example.com”.</t>
</list></t>

<t>Thus, the extension field of a certificate containing all of the above extensions in the given order would be encoded as the CBOR array [ -2, 6, 12, [ 3, 6 ], 13, “example.com” ].</t>

</section>
</section>
<section anchor="compliance-requirements-for-constrained-iot" title="Compliance Requirements for Constrained IoT">

<t>For general purpose applications, the normative requirements of <xref target="RFC5280"/> applies. This section describes the mandatory to implement algorithms and OIDs for constrained IoT application; the values of the OIDs including certificate fields and extensions, time format, attributes in distinguished names, etc.</t>

<t>TODO: Write this section</t>

</section>
<section anchor="dep-set" title="Deployment settings">

<t>CBOR certificates can be deployed with legacy X.509 certificates and CA infrastructure. In order to verify the signature, the CBOR certificate is used to recreate the original X.509 data structure to be able to verify the signature.</t>

<t>For protocols like TLS/DTLS 1.2, where the handshake is sent unencrypted, the actual encoding and compression can be done at different locations depending on the deployment setting. For example, the mapping between CBOR certificate and standard X.509 certificate can take place in a 6LoWPAN border gateway which allows the server side to stay unmodified. This case gives the advantage of the low overhead of a CBOR certificate over a constrained wireless links. The conversion to X.509 within an IoT device will incur a computational overhead, however, measured in energy this is negligible compared to the reduced communication overhead.</t>

<t>For the setting with constrained server and server-only authentication, the server only needs to be provisioned with the CBOR certificate and does not perform the conversion to X.509. This option is viable when client authentication can be asserted by other means.</t>

<t>For protocols like IKEv2, TLS/DTLS 1.3, and EDHOC, where certificates are encrypted, the proposed encoding needs to be done fully end-to-end, through adding the encoding/decoding functionality to the server.</t>

</section>
<section anchor="expected-certificate-sizes" title="Expected Certificate Sizes">

<t>The CBOR encoding of the sample certificate given in <xref target="appA"/> results in the numbers shown in <xref target="fig-table"/>. After <xref target="RFC7925"/> profiling, most duplicated information has been removed, and the remaining text strings are minimal in size. Therefore, the further size reduction reached with general compression mechanisms will be small, mainly corresponding to making the ASN.1 encoding more compact. The zlib number was calculated with zlib-flate.</t>

<figure><artwork><![CDATA[
zlib-flate -compress < cert.der > cert.compressed
]]></artwork></figure>

<figure title="Comparing Sizes of Certificates (bytes)" anchor="fig-table"><artwork align="center"><![CDATA[
+------------------+--------------+------------+--------------------+
|                  |   RFC 7925   |    zlib    |  CBOR Certificate  |
+------------------+---------------------------+--------------------+
| Certificate Size |     314      |     295    |         138        |
+------------------+--------------+------------+--------------------+
]]></artwork></figure>

</section>
<section anchor="native-CBOR" title="Natively Signed CBOR Certificates">

<t>The difference between CBOR compressed X.509 certificate and natively signed CBOR certificate is that the signature is calculated over the CBOR encoding of the CBOR sequence TBSCertficate rather than the DER encoded ASN.1 data. This removes entirely the need for ASN.1 DER and base64 encoding which reduces the processing in the authenticating devices and avoids known complexities with these encoding.</t>

<t>Natively signed CBOR certificates can be applied in devices that are only required to authenticate to natively signed CBOR certificate compatible servers. This is not a major restriction for many IoT deployments, where the parties issuing and verifying certificates can be a restricted ecosystem which not necessarily involves public CAs.</t>

<t>CBOR compressed X.509 certificates provides an intermediate step between <xref target="RFC7925"/> profiled X.509 certificates and natively signed CBOR certificates: An implementation of CBOR compressed X.509 certificates contains both the CBOR encoding of the X.509 certificate and the signature operations sufficient for natively signed CBOR certificates.</t>

<t>The natively signed approach based on DER encoded X.509 certificates described in this document has a lot of benefits. A CA can use existing ASN.1 machinery to create a DER encoded certificate, the DER encoded certificate can then be transformed to CBOR before signing.</t>

</section>
<section anchor="sec-cons" title="Security Considerations">

<t>The CBOR profiling of X.509 certificates does not change the security assumptions needed when deploying standard X.509 certificates but decreases the number of fields transmitted, which reduces the risk for implementation errors.</t>

<t>Conversion between the certificate formats can be made in constant time to reduce risk of information leakage through side channels.</t>

<t>The mechanism in this draft does not reveal any additional information compared to X.509. Because of difference in size, it will be possible to detect that this profile is used. The gateway solution described in <xref target="dep-set"/> requires unencrypted certificates and is not recommended.</t>

</section>
<section anchor="iana" title="IANA Considerations">

<t>For all items, the ‘Reference’ field points to this document.</t>

<section anchor="type" title="CBOR Certificate Types Registry">

<t>IANA has created a new registry titled “CBOR Certificate Types” under the new heading “CBOR Certificate”. For values in the interval [-24, 23] the registration procedure is “IETF Review”. For all other values the registration procedure is “Expert Review”. The columns of the registry are Value, Description, and Reference, where Value is an integer, and the other columns are text strings. The initial contents of the registry are:</t>

<figure title="CBOR Certificate Types" anchor="fig-types"><artwork align="center"><![CDATA[
+-------+---------------------------------------+
| Value | Description                           |
+=======+=======================================+
|     0 | Natively Signed CBOR Certificate      |
|     1 | CBOR Compressed X.509 Certificate     |
+-------+---------------------------------------+
]]></artwork></figure>

</section>
<section anchor="atttype" title="CBOR Attribute Type Registry">

<t>IANA has created a new registry titled “CBOR Attribute Type Registry” under the new heading “CBOR Certificate”. The columns of the registry are Value, X.509 Attribute Type, and Reference, where Value is an integer, and the other columns are text strings. Only positive values can be registered. For values in the interval [1, 23] the registration procedure is “IETF Review”. For all other values the registration procedure is “Expert Review”. The initial contents of the registry are:</t>

<figure title="CBOR Attribute Type Registry" anchor="fig-attrtype"><artwork align="center"><![CDATA[
+-------+---------------------------------------+
| Value | X.509 Attribute Type                  |
+=======+=======================================+
|     1 | id-at-commonName                      |
|     2 | id-at-surname                         |
|     3 | id-at-serialNumber                    |
|     4 | id-at-countryName                     |
|     5 | id-at-localityName                    |
|     6 | id-at-stateOrProvinceName             |
|     7 | id-at-organizationName                |
|     8 | id-at-organizationalUnitName          |
|     9 | id-at-title                           |
|    10 | id-at-givenName                       |
|    11 | id-at-initials                        |
|    12 | id-at-generationQualifier             |
|    13 | id-at-dnQualifier                     |
|    14 | id-at-pseudonym                       |
+-------+---------------------------------------+
]]></artwork></figure>

</section>
<section anchor="extype" title="CBOR Extension Type Registry">

<t>IANA has created a new registry titled “CBOR Extension Type Registry” under the new heading “CBOR Certificate”. The columns of the registry are Value, X.509 Extension Type, and Reference, where Value is an integer, and the other columns are text strings. Only positive values can be registered. For values in the interval [1, 23] the registration procedure is “IETF Review”. For all other values the registration procedure is “Expert Review”. The initial contents of the registry are:</t>

<figure title="CBOR Extension Type Registry" anchor="fig-extype"><artwork align="center"><![CDATA[
+-------+-------------------------------------+------------------+
| Value | X.509 Extension Type                | extensionValue   |
+=======+=====================================+==================+
|     1 | id-ce-basicConstraints (cA = false) |                  | 
|     2 | id-ce-basicConstraints (cA = true)  |                  |
|     3 | id-ce-basicConstraints (cA = true)  | int              |
|     4 | id-ce-keyUsage                      | int              |
|     5 | id-ce-keyUsage + 1                  |                  |
|     6 | id-ce-keyUsage + 16                 |                  |
|     7 | id-ce-keyUsage + 17                 |                  |
|     8 | id-ce-keyUsage + 32                 |                  |
|     9 | id-ce-keyUsage + 33                 |                  |
|    10 | id-ce-keyUsage + 48                 |                  |
|    11 | id-ce-keyUsage + 49                 |                  |
|    12 | id-ce-extKeyUsage                   | [] / int / rOID  |
|    13 | id-ce-subjectAltName                | [] / text        |
|    14 | id-ce-authorityKeyIdentifier        | bytes            |
|    15 | id-ce-subjectKeyIdentifier          | bytes            |
|    16 | id-ce-certificatePolicies           | bytes            |
|    17 | id-ce-cRLDistributionPoints         | bytes            |
|    18 | id-pe-authorityInfoAccess           | bytes            |
|    19 | SCT List (1.3.6.1.4.1.11129.2.4.2)  | bytes            |
|   248 | id-ce-nameConstraints               | bytes            |
|   249 | id-ce-policyConstraints             | bytes            |
|   250 | id-ce-inhibitAnyPolicy              | bytes            |
|   251 | id-ce-authorityKeyIdentifier        | bytes            |
|   252 | id-ce-policyMappings                | bytes            |
|   253 | id-ce-issuerAltName                 | bytes            |
|   254 | id-ce-subjectDirectoryAttributes    | bytes            |
|   255 | id-ce-freshestCRL                   | bytes            |
|   256 | id-pe-subjectInfoAccess             | bytes            |
+-------+-------------------------------------+------------------+
]]></artwork></figure>

</section>
<section anchor="EKU" title="CBOR Extended Key Usage Registry">

<t>IANA has created a new registry titled “CBOR Extended Key Usage Registry” under the new heading “CBOR Certificate”. The columns of the registry are Value, Extended Key Usage Purpose, and Reference, where Value is an integer, and the other columns are text strings. For values in the interval [-24, 23] the registration procedure is “IETF Review”. For all other values the registration procedure is “Expert Review”. The initial contents of the registry are:</t>

<figure title="CBOR Extended Key Usage Registry" anchor="fig-ekutype"><artwork align="center"><![CDATA[
+-------+---------------------------------------+
| Value | Extended Key Usage                    |
+=======+=======================================+
|     0 | anyExtendedKeyUsage                   |
|     1 | id-kp-serverAuth                      |
|     2 | id-kp-clientAuth                      |
|     3 | id-kp-codeSigning                     |
|     4 | id-kp-emailProtection                 |
|     5 | id-kp-timeStamping                    |
|     6 | id-kp-OCSPSigning                     |
+-------+---------------------------------------+
]]></artwork></figure>

</section>
<section anchor="SAN" title="CBOR Subject Alternative Name Registry">

<t>IANA has created a new registry titled “CBOR Subject Alternative Name Registry” under the new heading “CBOR Certificate”. The columns of the registry are Value, Extended Key Usage Purpose, and Reference, where Value is an integer, and the other columns are text strings. For values in the interval [-24, 23] the registration procedure is “IETF Review”. For all other values the registration procedure is “Expert Review”. The initial contents of the registry are:</t>

<figure title="CBOR Subject Alternative Name Registry" anchor="fig-san"><artwork align="center"><![CDATA[
+-------+-----------------------------------+------------------+
| Value | Subject Alternative Name          |                  |
+=======+===================================+==================+
|     0 | rfc822Name                        | text             |
|     1 | dNSName                           | text             |
|     2 | directoryName                     | Name             |
|     3 | uniformResourceIdentifier         | text             |
|     4 | iPAddress                         | bytes            |
+-------+-----------------------------------+------------------+
]]></artwork></figure>

</section>
<section anchor="sigalg" title="CBOR Certificate Signature Algorithms Registry">

<t>IANA has created a new registry titled “CBOR Certificate Signature Algorithms” under the new heading “CBOR Certificate”. For values in the interval [-24, 23] the registration procedure is “IETF Review”. For all other values the registration procedure is “Expert Review”. The columns of the registry are Value, X.509 Algorithm, and Reference, where Value is an integer, and the other columns are text strings. The initial contents of the registry are:</t>

<t>EDITOR’S NOTE: This is probably to many algorithms. All sha224, sha3, and maybe ecdsa-with-SHA1 can probably be removed.</t>

<figure title="CBOR Certificate Signature Algorithms" anchor="fig-sigalgs"><artwork align="center"><![CDATA[
+-------+---------------------------------------+
| Value | X.509 Signature Algorithm             |
+=======+=======================================+
|     0 | sha1WithRSAEncryption                 |
|     1 | sha256WithRSAEncryption               |
|     2 | sha384WithRSAEncryption               |
|     3 | sha512WithRSAEncryption               |
|     4 | id-RSASSA-PSS-SHAKE128                |
|     5 | id-RSASSA-PSS-SHAKE256                |  
|     6 | ecdsa-with-SHA256                     |
|     7 | ecdsa-with-SHA384                     |
|     8 | ecdsa-with-SHA512                     |
|     9 | id-ecdsa-with-shake128                |
|    10 | id-ecdsa-with-shake256                |
|    11 | id-Ed25519                            |
|    12 | id-Ed448                              |
|    13 | id-alg-hss-lms-hashsig                |
|    14 | id-alg-xmss                           |
|    15 | id-alg-xmssmt                         |
|   245 | sha224WithRSAEncryption               |
|   246 | id-rsassa-pkcs1-v1_5-with-sha3-224    |
|   247 | id-rsassa-pkcs1-v1_5-with-sha3-256    |
|   248 | id-rsassa-pkcs1-v1_5-with-sha3-384    |
|   249 | id-rsassa-pkcs1-v1_5-with-sha3-512    |
|   250 | ecdsa-with-SHA1                       |
|   251 | ecdsa-with-SHA224                     |
|   252 | id-ecdsa-with-sha3-224                |
|   253 | id-ecdsa-with-sha3-256                |
|   254 | id-ecdsa-with-sha3-384                |
|   255 | id-ecdsa-with-sha3-512                |
+-------+---------------------------------------+
]]></artwork></figure>

</section>
<section anchor="pkalg" title="CBOR Certificate Public Key Algorithms Registry">

<t>IANA has created a new registry titled “CBOR Certificate Public Key Algorithms” under the new heading “CBOR Certificate”. For values in the interval [-24, 23] the registration procedure is “IETF Review”. For all other values the registration procedure is “Expert Review”. The columns of the registry are Value, X.509 Algorithm, and Reference, where Value is an integer, and the other columns are text strings. The initial contents of the registry are:</t>

<figure title="CBOR Certificate Public Key Algorithms" anchor="fig-pkalgs"><artwork align="center"><![CDATA[
+-------+---------------------------------------+
| Value | X.509 Public Key Algorithm            |
+=======+=======================================+
|     0 | rsaEncryption                         |
|     1 | id-ecPublicKey + secp256r1            |
|     2 | id-ecPublicKey + secp384r1            |
|     3 | id-ecPublicKey + secp521r1            |
|     4 | id-X25519                             |
|     5 | id-X448                               |
|     6 | id-Ed25519                            |
|     7 | id-Ed448                              |  
|     8 | id-alg-hss-lms-hashsig                |
|     9 | id-alg-xmss                           |
|    10 | id-alg-xmssmt                         |
+-------+---------------------------------------+
]]></artwork></figure>

</section>
<section anchor="cose" title="COSE Header Parameters Registry">

<t>This document registers the following entries in the “COSE Header Parameters” registry under the “CBOR Object Signing and Encryption (COSE)” heading. The formatting and processing are the same as the corresponding x5bag, x5chain, x5t, and x5u defined in <xref target="I-D.ietf-cose-x509"/> except that the certificates are CBOR encoded instead of DER encoded.</t>

<figure><artwork><![CDATA[
+-----------+-------+----------------+---------------------+
| Name      | Label | Value Type     | Description         |
+===========+=======+================+=====================+
| c5bag     |  TBD1 | COSE_CBOR_Cert | An ordered chain of |
|           |       |                | CBOR certificates   |
+-----------+-------+----------------+---------------------+
| c5chain   |  TBD2 | COSE_CBOR_Cert | An ordered chain of |
|           |       |                | CBOR certificates   |
+-----------+-------+----------------+---------------------+
| c5t       |  TBD3 | COSE_CertHash  | Hash of an          |
|           |       |                | CBOR certificate    |
+-----------+-------+----------------+---------------------+
| c5u       |  TBD4 | uri            | URI pointing to a   |
|           |       |                | CBOR certificate    |
+-----------+-------+----------------+---------------------+
]]></artwork></figure>

</section>
<section anchor="tls" title="TLS Certificate Types Registry">

<t>This document registers the following entry in the “TLS Certificate Types” registry under the “Transport Layer Security (TLS) Extensions” heading.</t>

<t>EDITOR’S NOTE: The TLS registrations should be discussed and approved by the TLS WG at a later stage. When COSE WG has adopted work on CBOR certificates, it could perhaps be presented in the TLS WG. The TLS WG might e.g. want a separate draft in the TLS WG.</t>

<figure><artwork><![CDATA[
+-------+------------------+-------------+---------+
| Value | Name             | Recommended | Comment |
+=======+==================+=============+=========+
|  TBD3 | CBOR Certificate |           Y |         |         
+-------+------------------+-------------+---------+
]]></artwork></figure>

</section>
</section>


  </middle>

  <back>

    <references title='Normative References'>

&RFC2119;
&RFC5280;
&RFC7049;
&RFC7925;
&RFC8152;
&RFC8174;
&RFC8446;
&RFC8610;
&RFC8742;
&I-D.ietf-tls-dtls13;
&I-D.ietf-tls-certificate-compression;


    </references>

    <references title='Informative References'>

&RFC7228;
&I-D.ietf-cose-x509;
&I-D.ietf-lake-edhoc;
<reference anchor="X.509-IoT" target="https://doi.org/10.1007/978-3-319-93797-7_14">
  <front>
    <title>Lightweight X.509 Digital Certificates for the Internet of Things.</title>
    <author initials="F." surname="Forsby">
      <organization></organization>
    </author>
    <author initials="M." surname="Furuhed">
      <organization></organization>
    </author>
    <author initials="P." surname="Papadimitratos">
      <organization></organization>
    </author>
    <author initials="S." surname="Raza">
      <organization></organization>
    </author>
    <date year="2018" month="July"/>
  </front>
  <seriesInfo name="Springer, Cham." value="Lecture Notes of the Institute for Computer Sciences, Social Informatics and Telecommunications Engineering, vol 242."/>
</reference>
<reference anchor="SECG" target="https://secg.org/sec1-v2.pdf">
  <front>
    <title>Elliptic Curve Cryptography, Standards for Efficient Cryptography Group, ver. 2</title>
    <author >
      <organization></organization>
    </author>
    <date year="2009"/>
  </front>
</reference>


    </references>


<section anchor="appA" title="Example CBOR Certificates">

<section anchor="example-rfc-7925-profiled-x509-certificate" title="Example RFC 7925 profiled X.509 Certificate">

<t>Example of <xref target="RFC7925"/> profiled X.509 certificate parsed with OpenSSL.</t>

<figure><artwork><![CDATA[
Certificate:
    Data:
        Version: 3 (0x2)
        Serial Number: 128269 (0x1f50d)
        Signature Algorithm: ecdsa-with-SHA256
        Issuer: CN=RFC test CA
        Validity
            Not Before: Jan  1 00:00:00 2020 GMT
            Not After : Feb  2 00:00:00 2021 GMT
        Subject: CN=01-23-45-FF-FE-67-89-AB
        Subject Public Key Info:
            Public Key Algorithm: id-ecPublicKey
                Public-Key: (256 bit)
                pub:
                    04:ae:4c:db:01:f6:14:de:fc:71:21:28:5f:dc:7f:
                    5c:6d:1d:42:c9:56:47:f0:61:ba:00:80:df:67:88:
                    67:84:5e:e9:a6:9f:d4:89:31:49:da:e3:d3:b1:54:
                    16:d7:53:2c:38:71:52:b8:0b:0d:f3:e1:af:40:8a:
                    95:d3:07:1e:58
                ASN1 OID: prime256v1
                NIST CURVE: P-256
        X509v3 extensions:
            X509v3 Key Usage: 
                Digital Signature
    Signature Algorithm: ecdsa-with-SHA256
         30:44:02:20:37:38:73:ef:87:81:b8:82:97:ef:23:5c:1f:ac:
         cf:62:da:4e:44:74:0d:c2:a2:e6:a3:c6:c8:82:a3:23:8d:9c:
         02:20:3a:d9:35:3b:a7:88:68:3b:06:bb:48:fe:ca:16:ea:71:
         17:17:34:c6:75:c5:33:2b:2a:f1:cb:73:38:10:a1:fc
         
]]></artwork></figure>

<t>The DER encoding of the above certificate is 314 bytes.</t>

<figure><artwork><![CDATA[
30 82 01 36 30 81 DE A0 03 02 01 02 02 03 01 F5 0D 30 0A 06 08 2A 86 48
CE 3D 04 03 02 30 16 31 14 30 12 06 03 55 04 03 0C 0B 52 46 43 20 74 65
73 74 20 43 41 30 1E 17 0D 32 30 30 31 30 31 30 30 30 30 30 30 5A 17 0D
32 31 30 32 30 32 30 30 30 30 30 30 5A 30 22 31 20 30 1E 06 03 55 04 03
0C 17 30 31 2D 32 33 2D 34 35 2D 46 46 2D 46 45 2D 36 37 2D 38 39 2D 41
42 30 59 30 13 06 07 2A 86 48 CE 3D 02 01 06 08 2A 86 48 CE 3D 03 01 07
03 42 00 04 AE 4C DB 01 F6 14 DE FC 71 21 28 5F DC 7F 5C 6D 1D 42 C9 56
47 F0 61 BA 00 80 DF 67 88 67 84 5E E9 A6 9F D4 89 31 49 DA E3 D3 B1 54
16 D7 53 2C 38 71 52 B8 0B 0D F3 E1 AF 40 8A 95 D3 07 1E 58 A3 0F 30 0D
30 0B 06 03 55 1D 0F 04 04 03 02 07 80 30 0A 06 08 2A 86 48 CE 3D 04 03
02 03 47 00 30 44 02 20 37 38 73 EF 87 81 B8 82 97 EF 23 5C 1F AC CF 62
DA 4E 44 74 0D C2 A2 E6 A3 C6 C8 82 A3 23 8D 9C 02 20 3A D9 35 3B A7 88
68 3B 06 BB 48 FE CA 16 EA 71 17 17 34 C6 75 C5 33 2B 2A F1 CB 73 38 10
A1 FC
]]></artwork></figure>

<section anchor="example-cbor-certificate-compression" title="Example CBOR Certificate Compression">

<t>The CBOR certificate compression of the X.509 in CBOR diagnostic format is:</t>

<figure><artwork><![CDATA[
/This defines a CBOR Sequence (RFC 8742):/

  1,
  h'01f50d',
  6,
  "RFC test CA",
  h'2B044180',
  h'2D543300',
  h'0123456789AB',
  1,
  h'02ae4cdb01f614defc7121285fdc7f5c6d1d42c95647f061ba
    0080df678867845e',
  5,
  h'373873EF8781B88297EF235C1FACCF62DA4E44740DC2A2E6A3
    C6C882A3238D9C3AD9353BA788683B06BB48FECA16EA711717
    34C675C5332B2AF1CB733810A1FC'

]]></artwork></figure>

<t>The CBOR encoding (CBOR sequence) of the CBOR certificate is 138 bytes.</t>

<figure><artwork><![CDATA[
01 43 01 F5 0D 2A 6B 52 46 43 20 74 65 73 74 20 43 41 44 2B 04 41 80 44
2D 54 33 00 46 01 23 45 67 89 AB 36 58 21 02 AE 4C DB 01 F6 14 DE FC 71
21 28 5F DC 7F 5C 6D 1D 42 C9 56 47 F0 61 BA 00 80 DF 67 88 67 84 5E 05
58 40 37 38 73 EF 87 81 B8 82 97 EF 23 5C 1F AC CF 62 DA 4E 44 74 0D C2
A2 E6 A3 C6 C8 82 A3 23 8D 9C 3A D9 35 3B A7 88 68 3B 06 BB 48 FE CA 16
EA 71 17 17 34 C6 75 C5 33 2B 2A F1 CB 73 38 10 A1 FC
]]></artwork></figure>

</section>
<section anchor="example-natively-signed-cbor-certificate" title="Example: Natively Signed CBOR Certificate">

<t>The corresponding natively signed CBOR certificate in CBOR diagnostic format is identical except for type and signatureValue.</t>

<figure><artwork><![CDATA[
/This defines a CBOR Sequence (RFC 8742):/

  0,
  h'01f50d',
  6,
  "RFC test CA",
  h'2B044180',
  h'2D543300',
  h'0123456789AB',
  1,
  h'02ae4cdb01f614defc7121285fdc7f5c6d1d42c95647f061
    ba0080df678867845e',
  5,
  h'7F10A063DA8DB2FD49414440CDF85070AC22A266C7F1DFB1
    577D9A35A295A8742E794258B76968C097F85542322A0796
    0199C13CC0220A9BC729EF2ECA638CFE'

]]></artwork></figure>

<t>The CBOR encoding (CBOR sequence) of the CBOR certificate is 138 bytes.</t>

<figure><artwork><![CDATA[
00 43 01 F5 0D 2A 6B 52 46 43 20 74 65 73 74 20 43 41 44 2B 04 41 80 44
2D 54 33 00 46 01 23 45 67 89 AB 36 58 21 02 AE 4C DB 01 F6 14 DE FC 71
21 28 5F DC 7F 5C 6D 1D 42 C9 56 47 F0 61 BA 00 80 DF 67 88 67 84 5E 05
58 40 7F 10 A0 63 DA 8D B2 FD 49 41 44 40 CD F8 50 70 AC 22 A2 66 C7 F1
DF B1 57 7D 9A 35 A2 95 A8 74 2E 79 42 58 B7 69 68 C0 97 F8 55 42 32 2A
07 96 01 99 C1 3C C0 22 0A 9B C7 29 EF 2E CA 63 8C FE
]]></artwork></figure>

</section>
</section>
<section anchor="example-htpps-x509-certificate" title="Example HTPPS X.509 Certificate">

<t>The DER encoding of the tools.ietf.org certificate is 1647 bytes.</t>

<figure><artwork><![CDATA[
30 82 06 6b 30 82 05 53 a0 03 02 01 02 02 09 00 a6 a5 5c 87 0e 39 b4 0e
30 0d 06 09 2a 86 48 86 f7 0d 01 01 0b 05 00 30 81 c6 31 0b 30 09 06 03
55 04 06 13 02 55 53 31 10 30 0e 06 03 55 04 08 13 07 41 72 69 7a 6f 6e
61 31 13 30 11 06 03 55 04 07 13 0a 53 63 6f 74 74 73 64 61 6c 65 31 25
30 23 06 03 55 04 0a 13 1c 53 74 61 72 66 69 65 6c 64 20 54 65 63 68 6e
6f 6c 6f 67 69 65 73 2c 20 49 6e 63 2e 31 33 30 31 06 03 55 04 0b 13 2a
68 74 74 70 3a 2f 2f 63 65 72 74 73 2e 73 74 61 72 66 69 65 6c 64 74 65
63 68 2e 63 6f 6d 2f 72 65 70 6f 73 69 74 6f 72 79 2f 31 34 30 32 06 03
55 04 03 13 2b 53 74 61 72 66 69 65 6c 64 20 53 65 63 75 72 65 20 43 65
72 74 69 66 69 63 61 74 65 20 41 75 74 68 6f 72 69 74 79 20 2d 20 47 32
30 1e 17 0d 32 30 31 30 30 31 31 39 33 38 33 36 5a 17 0d 32 31 31 31 30
32 31 39 33 38 33 36 5a 30 3e 31 21 30 1f 06 03 55 04 0b 13 18 44 6f 6d
61 69 6e 20 43 6f 6e 74 72 6f 6c 20 56 61 6c 69 64 61 74 65 64 31 19 30
17 06 03 55 04 03 0c 10 2a 2e 74 6f 6f 6c 73 2e 69 65 74 66 2e 6f 72 67
30 82 01 22 30 0d 06 09 2a 86 48 86 f7 0d 01 01 01 05 00 03 82 01 0f 00
30 82 01 0a 02 82 01 01 00 b1 e1 37 e8 eb 82 d6 89 fa db f5 c2 4b 77 f0
2c 4a de 72 6e 3e 13 60 d1 a8 66 1e c4 ad 3d 32 60 e5 f0 99 b5 f4 7a 7a
48 55 21 ee 0e 39 12 f9 ce 0d ca f5 69 61 c7 04 ed 6e 0f 1d 3b 1e 50 88
79 3a 0e 31 41 16 f1 b1 02 64 68 a5 cd f5 4a 0a ca 99 96 35 08 c3 7e 27
5d d0 a9 cf f3 e7 28 af 37 d8 b6 7b dd f3 7e ae 6e 97 7f f7 ca 69 4e cc
d0 06 df 5d 27 9b 3b 12 e7 e6 fe 08 6b 52 7b 82 11 7c 72 b3 46 eb c1 e8
78 b8 0f cb e1 eb bd 06 44 58 dc 83 50 b2 a0 62 5b dc 81 b8 36 e3 9e 7c
79 b2 a9 53 8a e0 0b c9 4a 2a 13 39 31 13 bd 2c cf a8 70 cf 8c 8d 3d 01
a3 88 ae 12 00 36 1d 1e 24 2b dd 79 d8 53 01 26 ed 28 4f c9 86 94 83 4e
c8 e1 14 2e 85 b3 af d4 6e dd 69 46 af 41 25 0e 7a ad 8b f2 92 ca 79 d9
7b 32 4f f7 77 e8 f9 b4 4f 23 5c d4 5c 03 ae d8 ab 3a ca 13 5f 5d 5d 5d
a1 02 03 01 00 01 a3 82 02 e1 30 82 02 dd 30 0c 06 03 55 1d 13 01 01 ff
04 02 30 00 30 1d 06 03 55 1d 25 04 16 30 14 06 08 2b 06 01 05 05 07 03
01 06 08 2b 06 01 05 05 07 03 02 30 0e 06 03 55 1d 0f 01 01 ff 04 04 03
02 05 a0 30 3d 06 03 55 1d 1f 04 36 30 34 30 32 a0 30 a0 2e 86 2c 68 74
74 70 3a 2f 2f 63 72 6c 2e 73 74 61 72 66 69 65 6c 64 74 65 63 68 2e 63
6f 6d 2f 73 66 69 67 32 73 31 2d 32 34 32 2e 63 72 6c 30 63 06 03 55 1d
20 04 5c 30 5a 30 4e 06 0b 60 86 48 01 86 fd 6e 01 07 17 01 30 3f 30 3d
06 08 2b 06 01 05 05 07 02 01 16 31 68 74 74 70 3a 2f 2f 63 65 72 74 69
66 69 63 61 74 65 73 2e 73 74 61 72 66 69 65 6c 64 74 65 63 68 2e 63 6f
6d 2f 72 65 70 6f 73 69 74 6f 72 79 2f 30 08 06 06 67 81 0c 01 02 01 30
81 82 06 08 2b 06 01 05 05 07 01 01 04 76 30 74 30 2a 06 08 2b 06 01 05
05 07 30 01 86 1e 68 74 74 70 3a 2f 2f 6f 63 73 70 2e 73 74 61 72 66 69
65 6c 64 74 65 63 68 2e 63 6f 6d 2f 30 46 06 08 2b 06 01 05 05 07 30 02
86 3a 68 74 74 70 3a 2f 2f 63 65 72 74 69 66 69 63 61 74 65 73 2e 73 74
61 72 66 69 65 6c 64 74 65 63 68 2e 63 6f 6d 2f 72 65 70 6f 73 69 74 6f
72 79 2f 73 66 69 67 32 2e 63 72 74 30 1f 06 03 55 1d 23 04 18 30 16 80
14 25 45 81 68 50 26 38 3d 3b 2d 2c be cd 6a d9 b6 3d b3 66 63 30 2b 06
03 55 1d 11 04 24 30 22 82 10 2a 2e 74 6f 6f 6c 73 2e 69 65 74 66 2e 6f
72 67 82 0e 74 6f 6f 6c 73 2e 69 65 74 66 2e 6f 72 67 30 1d 06 03 55 1d
0e 04 16 04 14 ad 8a b4 1c 07 51 d7 92 89 07 b0 b7 84 62 2f 36 55 7a 5f
4d 30 82 01 06 06 0a 2b 06 01 04 01 d6 79 02 04 02 04 81 f7 04 81 f4 00
f2 00 77 00 f6 5c 94 2f d1 77 30 22 14 54 18 08 30 94 56 8e e3 4d 13 19
33 bf df 0c 2f 20 0b cc 4e f1 64 e3 00 00 01 74 e5 ac 71 13 00 00 04 03
00 48 30 46 02 21 00 8c f5 48 52 ce 56 35 43 39 11 cf 10 cd b9 1f 52 b3
36 39 22 3a d1 38 a4 1d ec a6 fe de 1f e9 0f 02 21 00 bc a2 25 43 66 c1
9a 26 91 c4 7a 00 b5 b6 53 ab bd 44 c2 f8 ba ae f4 d2 da f2 52 7c e6 45
49 95 00 77 00 5c dc 43 92 fe e6 ab 45 44 b1 5e 9a d4 56 e6 10 37 fb d5
fa 47 dc a1 73 94 b2 5e e6 f6 c7 0e ca 00 00 01 74 e5 ac 72 3c 00 00 04
03 00 48 30 46 02 21 00 a5 e0 90 6e 63 e9 1d 4f dd ef ff 03 52 b9 1e 50
89 60 07 56 4b 44 8a 38 28 f5 96 dc 6b 28 72 6d 02 21 00 fc 91 ea ed 02
16 88 66 05 4e e1 8a 2e 53 46 c4 cc 51 fe b3 fa 10 a9 1d 2e db f9 91 25
f8 6c e6 30 0d 06 09 2a 86 48 86 f7 0d 01 01 0b 05 00 03 82 01 01 00 14
04 3f a0 be d2 ee 3f a8 6e 3a 1f 78 8e a0 4c 35 53 0f 11 06 1f ff 60 a1
6d 0b 83 e9 d9 2a db b3 3f 9d b3 d7 e0 59 4c 19 a8 e4 19 a5 0c a7 70 72
77 63 d5 fe 64 51 0a d2 7a d6 50 a5 8a 92 38 ec cb 2f 0f 5a c0 64 58 4d
5c 06 b9 73 63 68 27 8b 89 34 dc 79 c7 1d 3a fd 34 5f 83 14 41 58 49 80
68 29 80 39 8a 86 72 69 cc 79 37 ce e3 97 f7 dc f3 95 88 ed 81 03 29 00
d2 a2 c7 ba ab d6 3a 8e ca 09 0b d9 fb 39 26 4b ff 03 d8 8e 2d 3f 6b 21
ca 8a 7d d8 5f fb 94 ba 83 de 9c fc 15 8d 61 fa 67 2d b0 c7 db 3d 25 0a
41 4a 85 d3 7f 49 46 37 3c f4 b1 75 d0 52 f3 dd c7 66 f1 4b fd aa 00 ed
bf e4 7e ed 01 ec 7b e4 f6 46 fc 31 fd 72 fe 03 d2 f2 65 af 4d 7e e2 81
9b 7a fd 30 3c f5 52 f4 05 34 a0 8a 3e 19 41 58 c8 a8 e0 51 71 84 09 15
ae ec a5 77 75 fa 18 f7 d5 77 d5 31 cc c7 2d
]]></artwork></figure>

<section anchor="example-cbor-certificate-compression-1" title="Example CBOR Certificate Compression">

<t>The CBOR certificate compression of the X.509 in CBOR diagnostic format is:</t>

<figure><artwork><![CDATA[
/This defines a CBOR Sequence (RFC 8742):/

  1,
  h'A6A55C870E39B40E',
  0,
  [
    [4, "US"],
    [6, "Arizona"], 
    [5, "Scottsdale"], 
    [7, "Starfield Technologies, Inc."], 
    [8, "http://certs.starfieldtech.com/repository/"],
    [1, "Starfield Secure Certificate Authority - G2"]
  ],
  h'2D3EE7F6',
  h'2F98B716',
  [
    [8, "Domain Control Validated"],
    [-1, "*.tools.ietf.org"]
  ],
  0,
  h'3082010A0282010100B1E137E8EB82D689FADBF5C24B77F02C4ADE726E3E1360D1A8661EC4AD3D3260E5F099B5F47A7A485521EE0E3912F9CE0DCAF56961C704ED6E0F1D3B1E5088793A0E314116F1B1026468A5CDF54A0ACA99963508C37E275DD0A9CFF3E728AF37D8B67BDDF37EAE6E977FF7CA694ECCD006DF5D279B3B12E7E6FE086B527B82117C72B346EBC1E878B80FCBE1EBBD064458DC8350B2A0625BDC81B836E39E7C79B2A9538AE00BC94A2A13393113BD2CCFA870CF8C8D3D01A388AE1200361D1E242BDD79D8530126ED284FC98694834EC8E1142E85B3AFD46EDD6946AF41250E7AAD8BF292CA79D97B324FF777E8F9B44F235CD45C03AED8AB3ACA135F5D5D5DA10203010001',
  [
    -1,
    12, [ 1, 2 ],
    -4, 5,
    17, h'30343032a030a02e862c687474703a2f2f63726c2e737461726669656c64746563682e636f6d2f736669673273312d3234322e63726c',
    16, h'305A304E060B6086480186FD6E01071701303F303D06082B060105050702011631687474703A2F2F6365727469666963617465732E737461726669656C64746563682E636F6D2F7265706F7369746F72792F3008060667810C010201',
    18, h'3074302A06082B06010505073001861E687474703A2F2F6F6373702E737461726669656C64746563682E636F6D2F304606082B06010505073002863A687474703A2F2F6365727469666963617465732E737461726669656C64746563682E636F6D2F7265706F7369746F72792F73666967322E637274',
    14, h'30168014254581685026383D3B2D2CBECD6AD9B63DB36663',
    13, [ 1, "*.tools.ietf.org", 1, "tools.ietf.org" ],
    15, h'0414AD8AB41C0751D7928907B0B784622F36557A5F4D',
    19, h'0481F400F2007700F65C942FD1773022145418083094568EE34D131933BFDF0C2F200BCC4EF164E300000174E5AC711300000403004830460221008CF54852CE5635433911CF10CDB91F52B33639223AD138A41DECA6FEDE1FE90F022100BCA2254366C19A2691C47A00B5B653ABBD44C2F8BAAEF4D2DAF2527CE64549950077005CDC4392FEE6AB4544B15E9AD456E61037FBD5FA47DCA17394B25EE6F6C70ECA00000174E5AC723C0000040300483046022100A5E0906E63E91D4FDDEFFF0352B91E50896007564B448A3828F596DC6B28726D022100FC91EAED02168866054EE18A2E5346C4CC51FEB3FA10A91D2EDBF99125F86CE6'
  ],
  h'14043FA0BED2EE3FA86E3A1F788EA04C35530F11061FFF60A16D0B83E9D92ADBB33F9DB3D7E0594C19A8E419A50CA770727763D5FE64510AD27AD650A58A9238ECCB2F0F5AC064584D5C06B9736368278B8934DC79C71D3AFD345F831441584980682980398A867269CC7937CEE397F7DCF39588ED81032900D2A2C7BAABD63A8ECA090BD9FB39264BFF03D88E2D3F6B21CA8A7DD85FFB94BA83DE9CFC158D61FA672DB0C7DB3D250A414A85D37F4946373CF4B175D052F3DDC766F14BFDAA00EDBFE47EED01EC7BE4F646FC31FD72FE03D2F265AF4D7EE2819B7AFD303CF552F40534A08A3E194158C8A8E05171840915AEECA57775FA18F7D577D531CCC72D'

]]></artwork></figure>

<t>The CBOR encoding (CBOR sequence) of the CBOR certificate is 1374 bytes.</t>

</section>
</section>
</section>
<section anchor="appB" title="X.509 Certificate Profile, ASN.1">

<t>EDITOR’S NOTE: The ASN.1 below is not up to date with the rest of the specification. The below ASN.1 for RFC 7925 profile should be in draft-ietf-uta-tls13-iot-profile instead. If CBOR Certificates support a large subset of RFC 5280, we should probably not duplicate all the ASN.1 in that document. Should be discussed what kind and how much (if any) ASN.1 this document needs. If possible, one option would be to have ASN.1 for the restrictions compared to RFC 5280.</t>

<figure><artwork type="ASN.1"><![CDATA[
IOTCertificate DEFINITIONS EXPLICIT TAGS ::= BEGIN

Certificate  ::= SEQUENCE {
  tbsCertificate        TBSCertificate,
  signatureAlgorithm    AlgorithmIdentifier,
  signatureValue        BIT STRING
}

TBSCertificate  ::= SEQUENCE {
  version           [0] INTEGER {v3(2)},
  serialNumber          INTEGER (1..MAX),
  signature             AlgorithmIdentifier,
  issuer                Name,
  validity              Validity,
  subject               Name,
  subjectPublicKeyInfo  SubjectPublicKeyInfo,
  extensions        [3] Extensions OPTIONAL
}

Name  ::= SEQUENCE SIZE (1) OF DistinguishedName

DistinguishedName  ::= SET SIZE (1) OF CommonName

CommonName  ::= SEQUENCE {
  type              OBJECT IDENTIFIER (id-at-commonName),
  value             UTF8String
}

Validity  ::= SEQUENCE {
  notBefore         UTCTime,
  notAfter          UTCTime
}

SubjectPublicKeyInfo  ::= SEQUENCE {
  algorithm         AlgorithmIdentifier,
  subjectPublicKey  BIT STRING
}

AlgorithmIdentifier  ::=  SEQUENCE  {
  algorithm         OBJECT IDENTIFIER,
  parameters        ANY DEFINED BY algorithm OPTIONAL  }
}

Extensions  ::= SEQUENCE SIZE (1..MAX) OF Extension

Extension  ::= SEQUENCE {
  extnId            OBJECT IDENTIFIER,
  critical          BOOLEAN DEFAULT FALSE,
  extnValue         OCTET STRING
 }

id-at-commonName    OBJECT IDENTIFIER   ::=
         {joint-iso-itu-t(2) ds(5) attributeType(4) 3}

END
]]></artwork></figure>

</section>
<section numbered="no" anchor="acknowledgments" title="Acknowledgments">

<t>The authors want to thank Henk Birkholz, Carsten Bormann, Russ Housley, Ilari Liusvaara, Laurence Lundblade, Thomas Peterson, Michael Richardson, Jim Schaad, and Rene Struik for reviewing and commenting on intermediate versions of the draft.</t>

</section>


  </back>

<!-- ##markdown-source:
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
EroHg/HdYrtZYdzEtrstK6t9IfUdKdYhKcPdzfBDvNxnDZua3GSrjMwmokUG
Y3ezzTJxA48xg3xuttDmoNKu8ucYdfDXuCdQdwftJCr3FziN50R+KrqK/0Ka
FL0rdqsseEGyjUbSfLHIWPFQKSkv1VjPSI6aDAM1n12TcTnB1ZnY4/cpadHV
LSjOA8MrZtH1frnEqxY2TsjFwUMizg6Ir1/s5Iua62pPg8LrQnz/3fc/dGFb
xbd48dP3n+nFbZxvD6Bnycv+95793PZLdkhBGVJly4yAlFZU6QZm5U8xvUM7
BejR0FZnTTaSvcgHCGRgDQaDyqLLSrgCuzUduaaKU1afGbnH3kmzKW2OVH3K
44lvb5e5UjnLRpDRbHvOao9cc9Qvx8bKmolE9l9CjsCMhjKRT3oiMXrL7oUs
j/COnpBnPHnxOmzWqcMpsoyPdWbroSnSKw/zNt5Kzm/YbTUscjx+qqI12Vl2
4KxyWqZJh467nLTd5Y8b8PE2j9e70lgv2PZLSa5c2jbwxAFSkNgFWUMJQ3A+
Kv04zxgcNhAjMRj8RrlXdfj6sKlvuy0tPiDtI1tCTQikVOubLaLMNQT83nbP
CZrLjgN84PyVHS72WzS9rTwkqTWb9hejPuowkS0jF2RDlil5/5Fjq66n3/bO
WOykfz4kqIjGx+OjA+9XOS2VM37oVlOVsh9KDpRMdMzBvsdlfrgzqnoivflt
ZaRL7QpKdZtuMMhpCSRkkTXMUwrxY1UxJAu/ZgeTsJOx0/txQ/h98urd7OrJ
mfwrLl/z9dvoX95dvI0mdD17Ebx8WV2UJWYvXr97Oamv6prh61evosuJrIyn
ovPoVfCnJ1IlPnn95uri9WXw8gl7Yy2ikWSBUecZW5QthkkxWUzarki2+Zw5
WYzDN0K3JE9Q8gnCq7SPa+EaFnMtu2KJk7fA/x2pxizesvEiTyy+pXwL2QPY
vRvyGcnWnitOaiv+FbRX0SQmuZH5erPcXLNQtxj00CbIgKBpE9hIMMXa2eyf
npbq43MJSCajqZrd2BuGgWeUNaOc3hjtrHbDN2zcl2LD/jfEh7AtI3AYDhmB
l058O0Qp1Sb1co8GZmiomR1ZqQoxUsWyn3kQApMrTcklgaGRy8t+1BL+HRzw
rMzEJJyJud3kpf6tdduZeH0x4WeAeBkn4BEeLygKLV96Jmcy26B8kW4LBDaF
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
GL+JP2QNHJZoV59SK1rfGypH2l4PIWsPLl5fNbkBuu/i8uLq4vXlTER/fPPy
Iry4ElfBNzMxGn0txtE3F5eD5lYWwc9n0b+8iy7DSPwEBbabFwffRhHl1/fK
D2ehXLU0q7Xtvbqpz91qFS7PAuefMYCbXb29uPxmQNvaWl30QFZ+Tqr++U77
QVxcXkXfRG/FTx/ME+P0M/fW+5GHsuCJfn7+KvjjaQuu1u6CI4OQJ8SKzg/t
1aK3H9SWm/bbciMOd6Z2vfTXV2+rrS20IabaKdN6SqUb308vcWH+0NibJ16/
IS4IXhJm5XayFj5nF/8aAROn4vVUTJrf86ayg8HBo7L6VatmWH2xg773VX+9
45CpDk6Ifz3+XRReiYtJdHl1Mb0gunS/AnKq0LpvV313NfVmfO4Dje33FdoP
OoUWkNudGlXDq1yiGy/l1qbuS2q0D+s9HcQHBz4cY/9Oe13W76kmu6v7O9Lh
ARqpu9t6v30J1+WfpG6IJmL8p0Y7JZsI8ZkAaTBQL79IySHSVyUblXpQBD5d
X6T3Ep4gTgANLwKtfsavX7+MgkuCOnj38kpMg5ezSHH+uqVFxOvwKqqwiXEM
+j4nc8hvDG29J+anv9DO4GFebIb5bj/cQZmItDixT0VcHuNMm2ZPrFNhEqYu
J50smggS+sznMkuv+buXdEKC/Kpeln79ZL15or79J4+7LuSuUv5yWrx+L15k
+DXOt+9vNssfz0QYb2EX12JMCbP1+ky8hV0SLzb7YpndnYkLmMNcvMz3xYcY
xD4TL+O9/ADdy/06nS/jFLbn6mazigvxhjmBvhj2Kk9u4mwp3tLfbcrPfpev
xAy3cVoeywKLBfHa5/Lzfls+66XxXXkam/pSfOtLmUo7V6eusOU/H/w/uTT/
jHzEAAA=

-->

</rfc>

