<?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 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-cbor-tags-oid SYSTEM "https://xml2rfc.tools.ietf.org/public/rfc/bibxml3/reference.I-D.ietf-cbor-tags-oid.xml">
<!ENTITY RFC7228 SYSTEM "https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.7228.xml">
<!ENTITY RFC8446 SYSTEM "https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.8446.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">
<!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 I-D.ietf-tls-dtls13 SYSTEM "https://xml2rfc.tools.ietf.org/public/rfc/bibxml3/reference.I-D.ietf-tls-dtls13.xml">
]>

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

<rfc ipr="trust200902" docName="draft-mattsson-cose-cbor-cert-compress-04" 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="24"/>

    
    
    

    <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 certificates and to encode natively signed certificates. 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 the unwrapped CBOR positive bignum (~biguint) ‘certificateSerialNumber’. Any leading 0x00 byte (to indicate that the number is not negative) is therefore omitted.</t>
  <t>signatureAlgorithm. The ‘signatureAlgorithm’ field is encoded as a CBOR int ‘issuerSignatureAlgorithm’ (see <xref target="sigalg"/>) or a CBOR OID tag <xref target="I-D.ietf-cbor-tags-oid"/>. 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 Name contains a single Attribute containing an utf8String encoded ‘common name’ it is encoded as a CBOR text string. If the text string contains an EUI-64 of the form “HH-HH-HH-HH-HH-HH-HH-HH” where ‘H’ is one of the symbol ‘0’–’9’ or ‘A’–’F’ it is encoded as a CBOR byte string of length 8 instead. EUI-64 mapped from a 48-bit MAC address (i.e. of the form “HH-HH-HH-FF-FE-HH-HH-HH) is encoded as a CBOR byte string of length 6.</t>
  <t>validity. The ‘notBefore’ and ‘notAfter’ fields are ASCII string of the form “yymmddHHMMSSZ” for UTCTime and “yyyymmddHHMMSSZ” for GeneralizedTime. They ASCII strings are converted to 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'/>
The integer n is encoded as the unwrapped CBOR positive bignum (~biguint). GeneralizedTime before the year 100 AD is not supported. 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 CBOR OID tag <xref target="I-D.ietf-cbor-tags-oid"/> . 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"/>. If a DER encoded certificate with a point compressed public key of type id-ecPublicKey is CBOR encoded, the octets 0xfe and 0xfd are used instead of 0x02 and 0x03 in the CBOR encoding to represent an even and odd y-coordinate respectively.</t>
  <t>extensions. The ‘extensions’ field is encoded as a CBOR array where each extension is encoded as either a CBOR int (see <xref target="extype"/>) followed by an optional CBOR item of any type or a CBOR OID tag <xref target="I-D.ietf-cbor-tags-oid"/> followed by a CBOR bool encoding ‘critical’ and the DER encoded value of the ‘extnValue’ encoded as a CBOR byte string. If the array contains exactly two ints and the absolute value of the first int is 2, the array is omitted and the extensions is encoded as a single CBOR int with the absolute value of the second int and the sign of the first int. 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 v3 certificate (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 : ~biguint,
   issuerSignatureAlgorithm : Algorithm,
   issuer : Name,
   validityNotBefore : ~biguint,
   validityNotAfter : ~biguint,
   subject : Name,
   subjectPublicKeyAlgorithm : Algorithm,
   subjectPublicKey : bytes,
   extensions : Extensions,
)

Algorithm = int / OID

OID = #6.6(bstr) ; tag number 6 is used here, but tag number is TBD

Name = [ * [ + Attribute ] ] / text / bytes

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

Extensions =   [ * Extension ] / int,

Extension = (
   extensionID : int / OID,
   ? critical : bool,        ; present if and only if extensionID is an OID
   extensionValue : any,     ; type known from extensionType
)
]]></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 a 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 extensionID is encoded as either a CBOR int or a CBOR OID tag. If ‘extensionID’ is encoded an int (see <xref target="extype"/>),the sign is used to encode if the extension is critical and the ‘critical’ field is omitted. Critical extensions are encoded with a positive sign and non-critical extensions are encoded with a negative sign.</t>

<t>The ‘extnValue’ OCTET STREAM value field is encoded as the CBOR byte string ‘extensionValue’ except for the extensions specified below. The ‘extensionValue’ for the extensions mandated to be supported by <xref target="RFC7925"/> are encoded as follows:</t>

<t><list style="symbols">
  <t>basicConstraints. If ‘cA’ = false then extensionValue = -2, if ‘cA’ = true and ‘pathLenConstraint’ is not present then extensionValue = -1, and if ‘cA’ = true and ‘pathLenConstraint’ is present then extensionValue = pathLenConstraint.</t>
  <t>keyUsage. The ‘KeyUsage’ BIT STRING is interpreted as an unsigned integer n in network byte order and encoded as a CBOR int.</t>
  <t>extKeyUsage. extensionValue is encoded as an array of CBOR ints (see <xref target="EKU"/>) or CBOR OID tags <xref target="I-D.ietf-cbor-tags-oid"/> where each ints or OID tag encodes a key usage purpose. If the array contains a single int, the array is omitted.</t>
</list></t>

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

<t><list style="symbols">
  <t>subjectAltName. 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>

<section anchor="example-encoding-of-extensions" title="Example Encoding of Extensions">

<t>The examples below use values from <xref target="extype"/>, <xref target="EKU"/>, and <xref target="SAN"/>:</t>

<t><list style="symbols">
  <t>A critical basicConstraints (‘cA’ = true) without pathLenConstraint is encoded as the two CBOR ints -1, -1.</t>
  <t>A non-critical keyUsage with digitalSignature and keyAgreement asserted is encoded as the two CBOR ints 2, 17 (2^0 + 2^4 = 17).</t>
  <t>A non-critical extKeyUsage containing id-kp-codeSigning and id-kp-OCSPSigning is encoded as the CBOR int 3 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 4 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 [ -1, -1, 2, 17, 3, [ 3, 6 ], 4, “example.com” ].</t>

</section>
</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 v3 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                       |
|    15 | id-at-organizationIdentifier          |
+-------+---------------------------------------+
]]></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              | int              | 
|     2 | id-ce-keyUsage                      | int              |
|     3 | id-ce-extKeyUsage                   | [] / int         |
|     4 | id-ce-subjectAltName                | [] / text        |
|     5 | id-ce-authorityKeyIdentifier        | bytes            |
|     6 | id-ce-subjectKeyIdentifier          | bytes            |
|     7 | id-ce-certificatePolicies           | bytes            |
|     8 | id-ce-cRLDistributionPoints         | bytes            |
|     9 | id-pe-authorityInfoAccess           | bytes            |
|    10 | 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 | otherName                         | [ OID, bytes ]   |
|     1 | rfc822Name                        | text             |
|     2 | dNSName                           | text             |
|     3 | directoryName                     | Name             |
|     4 | uniformResourceIdentifier         | text             |
|     5 | 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>

<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. Note that certificates can also be identified with a ‘kid’ header parameter by storing ‘kid’ and the associated bag or chain in a dictionary.</t>

<figure><artwork><![CDATA[
+-----------+-------+----------------+---------------------+
| Name      | Label | Value Type     | Description         |
+===========+=======+================+=====================+
| c5bag     |  TBD1 | COSE_X509      | An unordered bag of |
|           |       |                | CBOR certificates   |
+-----------+-------+----------------+---------------------+
| c5chain   |  TBD2 | COSE_X509      | 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. The new certificate type can be used with addtional TLS certificate compression <xref target="I-D.ietf-tls-certificate-compression"/>.</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 |
+=======+==================+=============+=========+
|  TBD5 | CBOR Certificate |           Y |         |         
+-------+------------------+-------------+---------+
]]></artwork></figure>

</section>
</section>


  </middle>

  <back>

    <references title='Normative References'>

&RFC2119;
&RFC5280;
&RFC7049;
&RFC7925;
&RFC8152;
&RFC8174;
&RFC8610;
&RFC8742;
&I-D.ietf-cbor-tags-oid;


    </references>

    <references title='Informative References'>

&RFC7228;
&RFC8446;
&I-D.ietf-cose-x509;
&I-D.ietf-lake-edhoc;
&I-D.ietf-tls-certificate-compression;
&I-D.ietf-tls-dtls13;
<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',
  1,
  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
06
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
01
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
01
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',
  1,
  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
06
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
01
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
01
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, -2,
     3, [ 1, 2 ],
    -2, 5,
     8, h'30343032a030a02e862c687474703a2f2f63726c2e737461726669656c64746563682e636f6d2f736669673273312d3234322e63726c',
     7, h'305A304E060B6086480186FD6E01071701303F303D06082B060105050702011631687474703A2F2F6365727469666963617465732E737461726669656C64746563682E636F6D2F7265706F7369746F72792F3008060667810C010201',
     9, h'3074302A06082B06010505073001861E687474703A2F2F6F6373702E737461726669656C64746563682E636F6D2F304606082B06010505073002863A687474703A2F2F6365727469666963617465732E737461726669656C64746563682E636F6D2F7265706F7369746F72792F73666967322E637274',
     5, h'30168014254581685026383D3B2D2CBECD6AD9B63DB36663',
     4, [ 2, "*.tools.ietf.org", 2, "tools.ietf.org" ],
     6, h'0414AD8AB41C0751D7928907B0B784622F36557A5F4D',
    10, 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, Olle Johansson, Benjamin Kaduk, Ilari Liusvaara, Laurence Lundblade, Thomas Peterson, Michael Richardson, Stefan Santesson, Jim Schaad, Fraser Tweedale, and Rene Struik for reviewing and commenting on intermediate versions of the draft.</t>

</section>


  </back>

<!-- ##markdown-source:
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
lhRnDOfbbClFuBQsgITuwWB8N9+slxg3se12w8pqV0h9R4q1T8pwe9v/EC92
WcOuJrfZMiPTiViSwdjebrJM3MJrzCCf6w20Oai0rXw6Rh18Nu4J1N1CO4nK
mQZO4xmRn4ou4z+SJkXvit0qK16QbKORNJ/PM1Y8VErKSzXWC5KjJsNAzWc3
ZFzOcHUhdvh9Tlp0eQeK88Dwill0tVss8KqFjTNyc/CQ7S8QX7/Yyhc119Xe
BgXfhfjxhx9/2odtGd/hxecfv9CLuzjfHEDPkpf9jx37uu2X7JSCMqTKFhkB
Ka2o0g3Myp9ieod2CtCjoa0ummwke5EPEPHAGvR6lUWXlXAFdms6c00Vp6w+
M3KHvZNmU9ocqfqU1xPf3S1ypXIWjUCj2faM1R6556hfjo2VNROJ7L+EHMEW
DWUsn3SER/SW3QtZHsEfPSHvePziddisU0dkZBmf6tDWQ1OkV17mXbyRnN+w
22pY5Hh8riI22Vl24LBy0qZJhz2Xue3uXX9cg483ebzalsZ6zrZfSnLl1raB
Jw6QgsQuyApKGILzUenHWcbgsIEYil7vV8q9qkPSx019221p8QFpH9kSakIg
pVpfbxBpriDgD7Y7IGiu9hzgA+ev7HC+26DpTeUhSa3ZtL8Y9VGHiWwZuSBr
skzJ+48cX+17+23vjMVO+ud9gopofDxGOvB+ldNSOeOHbjVVKfuh/ELJRMcc
7Adc5sc7o6pn0pvfVEa61K6g1H7TDQY5L4GELLKGeUZhfqwqhmThV+xgEnYy
dno/rgm/J6/eTa9PLuRfcfWar99Gf//u8m00puvpi+Dly+qiLDF98frdy3F9
VdcMX796FV2NZWU8FXuPXgV/OJEq8eT1m+vL11fByxP2xlpEI8kCo84ytigb
DHNLeoq0XZFs8hlzshiFb4RuSZ6g1BSEV2kf18I1LOZKdsUSJ2+B/3tSjVm8
YeNFnlh8RzkXsgewe7fkM5KtHShOaiv+JbRX0SQmuZH5ar1Y37BQtxj00CbI
gKBpE9hIMMXaue7Pz0r18aUEJJPRVM1u7A3DwDPKmlFOZ4x2UbvhazbuC7Fm
/xviQ9iWUTgMh4zCSye+HaKUapN6eUADMzTUzJasVIUYqWLZzzwIgcmVpgST
wNDI5WU/agH/Dg54VmZjEs7G3K3zUv/Wuu1CvL4c8zNAvIgT8AiPFxSFli89
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
QMaf4YV09vCfbsjfhBvSRds9YfgZbgg00wPuR1tEq9xQ8yzHX9fHjnXVMI7V
4NPJumqYx2rwAWZdNZSq+f2jVnLfDfn9o1ZyPzf0dFNcTg09xRRXro73tca4
WurwdGOsfYUx/mXULKu341q2W3k9rmbpM0kv+DNJ4k19SGxDrfKXkPa/s1RO
dktVVB+NhnebvFZ/J93Nn9SyXitXOST1jcjm3vqGZJ1Re+cnpRKW+kQuzt2W
xRu7MuLyuPTGQfXtXVqf7Fl8c4E/yW2cr+hiK5XZJ3vXPN21ed5G+eXpL1/K
k16q7S0HmwFbnyJpnL7aWGo+4G80yzYO9j3wF6fow0hlkqI60eb0fZ6eqg9c
NU7qnd3zNyr5XBouUZ0FWhT0cWfe/Bjf8JlIt/JTgfxBR7mTcHM/OL4l7Cgb
d/M16cc6D/Nn8TKeZQtR6uVq3r975Wetjpsq+UA1d+tq6jkhwpZ64Xo05sWc
YJ5/+j1ZA/UioONeeH9xiZV5pRIqpdL623hxuCGnKet/IcISyYgV2MYRsEug
Zen/AGBv6x4BtlmCTRrqBXQvveC/8ss3++r068Fua9a/GOxdC2zODm7yds/v
3l7K1e1qV2f87wx2UzxJg9PW5IfX1i+Kr9Lf95X27my6W3lf0yYR/sLiy/ie
vilfbk85QyPnjSNq9pQ3udQHX9Brfslbqrs0ffyzePufqmwU6zeK8YGeHQfl
UctNn7roPOKOt/LRzqYP9YEpVPN339KRCjF/KZi+u8HnPvE3oNgE/k4e0xun
a96XwWdJrQ8PSih4u0jC3cKFv6VvmvIWej4AK6tOX5c9Diq40bz8lBN/yPMj
bZmJ4e2RWQCO5CaXdtUn+9e/PnLXdLEP0+3gv2qHCYkBX28f9rJ/feSOHW1I
p13KU5MlmzL3h8ZdffWXDa4lZXjCX6mUu+rlDvmuXbW8PV4e2KhKHX7NXYYj
jYp0RKUsXB4W8+jGQrL3lWy8vstW0+nLPYo2OhjSiVx8WK28op/fyg1ZQ8QJ
Z9on47x6Ic9LFXJd9FDohmc4PpXR57aWNsodBvXDw/xiVfySF98MRXj1DaFk
S0cwh0ENjjottXpAP3CLhDxcdSi+I6OhC00b8j9haIYmvn11fVChPGx1ks0o
bGpW0FsV1EQJg6TpfcPsW7b6RIrj9j2/H4z2y+59qH49bPXe5YAP92KwVoW6
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

-->

</rfc>

