<?xml version='1.0' encoding='utf-8'?>
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" version="3" category="std" docName="draft-ietf-sidrops-rpki-crl-numbers-05" number="9829" ipr="trust200902" xml:lang="en" sortRefs="true" submissionType="IETF" consensus="true" updates="6487" obsoletes="" symRefs="true" tocInclude="true" prepTime="2025-07-17T11:01:47" indexInclude="true" scripts="Common,Latin" tocDepth="3">
  <link href="https://datatracker.ietf.org/doc/draft-ietf-sidrops-rpki-crl-numbers-05" rel="prev"/>
  <link href="https://dx.doi.org/10.17487/rfc9829" rel="alternate"/>
  <link href="urn:issn:2070-1721" rel="alternate"/>
  <front>
    <title abbrev="RPKI CRL Number Handling">Handling of Resource Public Key Infrastructure (RPKI) Certificate Revocation List (CRL) Number Extensions</title>
    <seriesInfo name="RFC" value="9829" stream="IETF"/>
    <author fullname="Job Snijders" initials="J." surname="Snijders">
      <address>
        <postal>
          <postalLine>Amsterdam</postalLine>
          <postalLine>The Netherlands</postalLine>
        </postal>
        <email>job@sobornost.net</email>
      </address>
    </author>
    <author fullname="Ben Maddison" initials="B." surname="Maddison">
      <organization showOnFrontPage="true">Workonline</organization>
      <address>
        <postal>
          <city>Cape Town</city>
          <country>South Africa</country>
        </postal>
        <email>benm@workonline.africa</email>
      </address>
    </author>
    <author fullname="Theo Buehler" initials="T." surname="Buehler">
      <organization showOnFrontPage="true">OpenBSD</organization>
      <address>
        <postal>
          <country>Switzerland</country>
        </postal>
        <email>tb@openbsd.org</email>
      </address>
    </author>
    <date month="07" year="2025"/>
    <area>OPS</area>
    <workgroup>sidrops</workgroup>
    <keyword>RPKI</keyword>
    <keyword>Routing Security</keyword>
    <keyword>BGP</keyword>
    <keyword>X.509</keyword>
    <keyword>CRL</keyword>
    <abstract pn="section-abstract">
      <t indent="0" pn="section-abstract-1">
        This document revises how the Resource Public Key Infrastructure (RPKI) handles Certificate Revocation List (CRL) Number extensions.
        This document updates RFC 6487.
      </t>
    </abstract>
    <boilerplate>
      <section anchor="status-of-memo" numbered="false" removeInRFC="false" toc="exclude" pn="section-boilerplate.1">
        <name slugifiedName="name-status-of-this-memo">Status of This Memo</name>
        <t indent="0" pn="section-boilerplate.1-1">
            This is an Internet Standards Track document.
        </t>
        <t indent="0" pn="section-boilerplate.1-2">
            This document is a product of the Internet Engineering Task Force
            (IETF).  It represents the consensus of the IETF community.  It has
            received public review and has been approved for publication by
            the Internet Engineering Steering Group (IESG).  Further
            information on Internet Standards is available in Section 2 of 
            RFC 7841.
        </t>
        <t indent="0" pn="section-boilerplate.1-3">
            Information about the current status of this document, any
            errata, and how to provide feedback on it may be obtained at
            <eref target="https://www.rfc-editor.org/info/rfc9829" brackets="none"/>.
        </t>
      </section>
      <section anchor="copyright" numbered="false" removeInRFC="false" toc="exclude" pn="section-boilerplate.2">
        <name slugifiedName="name-copyright-notice">Copyright Notice</name>
        <t indent="0" pn="section-boilerplate.2-1">
            Copyright (c) 2025 IETF Trust and the persons identified as the
            document authors. All rights reserved.
        </t>
        <t indent="0" pn="section-boilerplate.2-2">
            This document is subject to BCP 78 and the IETF Trust's Legal
            Provisions Relating to IETF Documents
            (<eref target="https://trustee.ietf.org/license-info" brackets="none"/>) in effect on the date of
            publication of this document. Please review these documents
            carefully, as they describe your rights and restrictions with
            respect to this document. Code Components extracted from this
            document must include Revised BSD License text as described in
            Section 4.e of the Trust Legal Provisions and are provided without
            warranty as described in the Revised BSD License.
        </t>
      </section>
    </boilerplate>
    <toc>
      <section anchor="toc" numbered="false" removeInRFC="false" toc="exclude" pn="section-toc.1">
        <name slugifiedName="name-table-of-contents">Table of Contents</name>
        <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1">
          <li pn="section-toc.1-1.1">
            <t indent="0" pn="section-toc.1-1.1.1"><xref derivedContent="1" format="counter" sectionFormat="of" target="section-1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-introduction">Introduction</xref></t>
            <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1.1.2">
              <li pn="section-toc.1-1.1.2.1">
                <t indent="0" keepWithNext="true" pn="section-toc.1-1.1.2.1.1"><xref derivedContent="1.1" format="counter" sectionFormat="of" target="section-1.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-requirements-language">Requirements Language</xref></t>
              </li>
              <li pn="section-toc.1-1.1.2.2">
                <t indent="0" keepWithNext="true" pn="section-toc.1-1.1.2.2.1"><xref derivedContent="1.2" format="counter" sectionFormat="of" target="section-1.2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-related-work">Related Work</xref></t>
              </li>
              <li pn="section-toc.1-1.1.2.3">
                <t indent="0" keepWithNext="true" pn="section-toc.1-1.1.2.3.1"><xref derivedContent="1.3" format="counter" sectionFormat="of" target="section-1.3"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-changes-from-rfc-6487">Changes from RFC 6487</xref></t>
              </li>
            </ul>
          </li>
          <li pn="section-toc.1-1.2">
            <t indent="0" pn="section-toc.1-1.2.1"><xref derivedContent="2" format="counter" sectionFormat="of" target="section-2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-summary">Summary</xref></t>
          </li>
          <li pn="section-toc.1-1.3">
            <t indent="0" pn="section-toc.1-1.3.1"><xref derivedContent="3" format="counter" sectionFormat="of" target="section-3"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-updates-to-rfc-6487">Updates to RFC 6487</xref></t>
            <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1.3.2">
              <li pn="section-toc.1-1.3.2.1">
                <t indent="0" pn="section-toc.1-1.3.2.1.1"><xref derivedContent="3.1" format="counter" sectionFormat="of" target="section-3.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-updates-to-section-5">Updates to Section 5</xref></t>
              </li>
              <li pn="section-toc.1-1.3.2.2">
                <t indent="0" pn="section-toc.1-1.3.2.2.1"><xref derivedContent="3.2" format="counter" sectionFormat="of" target="section-3.2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-update-to-section-72">Update to Section 7.2</xref></t>
              </li>
            </ul>
          </li>
          <li pn="section-toc.1-1.4">
            <t indent="0" pn="section-toc.1-1.4.1"><xref derivedContent="4" format="counter" sectionFormat="of" target="section-4"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-operational-considerations">Operational Considerations</xref></t>
          </li>
          <li pn="section-toc.1-1.5">
            <t indent="0" pn="section-toc.1-1.5.1"><xref derivedContent="5" format="counter" sectionFormat="of" target="section-5"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-security-considerations">Security Considerations</xref></t>
          </li>
          <li pn="section-toc.1-1.6">
            <t indent="0" pn="section-toc.1-1.6.1"><xref derivedContent="6" format="counter" sectionFormat="of" target="section-6"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-iana-considerations">IANA Considerations</xref></t>
          </li>
          <li pn="section-toc.1-1.7">
            <t indent="0" pn="section-toc.1-1.7.1"><xref derivedContent="7" format="counter" sectionFormat="of" target="section-7"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-references">References</xref></t>
            <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1.7.2">
              <li pn="section-toc.1-1.7.2.1">
                <t indent="0" pn="section-toc.1-1.7.2.1.1"><xref derivedContent="7.1" format="counter" sectionFormat="of" target="section-7.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-normative-references">Normative References</xref></t>
              </li>
              <li pn="section-toc.1-1.7.2.2">
                <t indent="0" pn="section-toc.1-1.7.2.2.1"><xref derivedContent="7.2" format="counter" sectionFormat="of" target="section-7.2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-informative-references">Informative References</xref></t>
              </li>
            </ul>
          </li>
          <li pn="section-toc.1-1.8">
            <t indent="0" pn="section-toc.1-1.8.1"><xref derivedContent="" format="none" sectionFormat="of" target="section-appendix.a"/><xref derivedContent="" format="title" sectionFormat="of" target="name-acknowledgements">Acknowledgements</xref></t>
          </li>
          <li pn="section-toc.1-1.9">
            <t indent="0" pn="section-toc.1-1.9.1"><xref derivedContent="" format="none" sectionFormat="of" target="section-appendix.b"/><xref derivedContent="" format="title" sectionFormat="of" target="name-authors-addresses">Authors' Addresses</xref></t>
          </li>
        </ul>
      </section>
    </toc>
  </front>
  <middle>
    <section anchor="intro" numbered="true" removeInRFC="false" toc="include" pn="section-1">
      <name slugifiedName="name-introduction">Introduction</name>
      <t indent="0" pn="section-1-1">
        <xref target="RFC5280" section="5.2.3" format="default" sectionFormat="of" derivedLink="https://rfc-editor.org/rfc/rfc5280#section-5.2.3" derivedContent="RFC5280"/> describes the value of the Certificate Revocation List (CRL) Number extension as a monotonically increasing sequence number, which "allows users to easily determine when a particular CRL supersedes another CRL".
        In other words, in Public Key Infrastructures (PKIs) in which it is possible for Relying Parties (RPs) to encounter multiple usable CRLs, the CRL Number extension is a means for an RP to determine which CRLs to rely upon.
      </t>
      <t indent="0" pn="section-1-2">
        In the Resource Public Key Infrastructure (RPKI), a well-formed manifest fileList contains exactly one entry for its associated CRL, together with a collision-resistant message digest of that CRL's contents (see <xref target="RFC6481" section="2.2" format="default" sectionFormat="of" derivedLink="https://rfc-editor.org/rfc/rfc6481#section-2.2" derivedContent="RFC6481"/> and <xref target="RFC9286" section="2" format="default" sectionFormat="of" derivedLink="https://rfc-editor.org/rfc/rfc9286#section-2" derivedContent="RFC9286"/>).
        Additionally, the target of the CRL Distribution Points extension in an RPKI Resource Certificate is the same CRL object listed on the issuing Certification Authorities (CAs) current manifest (see <xref target="RFC6487" section="4.8.6" format="default" sectionFormat="of" derivedLink="https://rfc-editor.org/rfc/rfc6487#section-4.8.6" derivedContent="RFC6487"/>).
        Together, these properties guarantee that RPKI RPs will always be able to unambiguously identify exactly one current CRL for each RPKI CA.
        Thus, in the RPKI, the ordering functionality provided by CRL Numbers is fully subsumed by monotonically increasing manifest numbers (<xref target="RFC9286" section="4.2.1" format="default" sectionFormat="of" derivedLink="https://rfc-editor.org/rfc/rfc9286#section-4.2.1" derivedContent="RFC9286"/>), thereby obviating the need for RPKI RPs to process CRL Number extensions at all.
      </t>
      <t indent="0" pn="section-1-3">
        Therefore, although the CRL Number extension is mandatory in RPKI CRLs for compliance with the X.509 v2 CRL Profile (<xref target="RFC5280" section="5" format="default" sectionFormat="of" derivedLink="https://rfc-editor.org/rfc/rfc5280#section-5" derivedContent="RFC5280"/>), any use of this extension by RPKI RPs merely adds complexity and fragility to RPKI Resource Certificate path validation.
        This document mandates that RPKI RPs ignore the CRL Number extension.
      </t>
      <t indent="0" pn="section-1-4">
        This document updates <xref target="RFC6487" format="default" sectionFormat="of" derivedContent="RFC6487"/>.
        Refer to <xref target="Updates" format="default" sectionFormat="of" derivedContent="Section 3"/> for more details.
      </t>
      <section anchor="reqs-lang" numbered="true" removeInRFC="false" toc="include" pn="section-1.1">
        <name slugifiedName="name-requirements-language">Requirements Language</name>
        <t indent="0" pn="section-1.1-1">
    The key words "<bcp14>MUST</bcp14>", "<bcp14>MUST NOT</bcp14>",
    "<bcp14>REQUIRED</bcp14>", "<bcp14>SHALL</bcp14>", "<bcp14>SHALL NOT</bcp14>",
    "<bcp14>SHOULD</bcp14>", "<bcp14>SHOULD NOT</bcp14>",
    "<bcp14>RECOMMENDED</bcp14>", "<bcp14>NOT RECOMMENDED</bcp14>",
    "<bcp14>MAY</bcp14>", and "<bcp14>OPTIONAL</bcp14>" in this document are to be
    interpreted as described in BCP 14 <xref target="RFC2119" format="default" sectionFormat="of" derivedContent="RFC2119"/> <xref target="RFC8174" format="default" sectionFormat="of" derivedContent="RFC8174"/> when, and only when, they appear in all capitals, as
    shown here.
        </t>
      </section>
      <section anchor="Related" numbered="true" removeInRFC="false" toc="include" pn="section-1.2">
        <name slugifiedName="name-related-work">Related Work</name>
        <t indent="0" pn="section-1.2-1">
        The reader is assumed to be familiar with the terms and concepts described in "Internet X.509 Public Key Infrastructure Certificate
   and Certificate Revocation List (CRL) Profile" 
        <xref target="RFC5280" format="default" sectionFormat="of" derivedContent="RFC5280"/>, "A Profile
   for Resource Certificate Repository Structure" <xref target="RFC6481" format="default" sectionFormat="of" derivedContent="RFC6481"/>, and "Manifests for the Resource Public Key Infrastructure (RPKI)" <xref target="RFC9286" format="default" sectionFormat="of" derivedContent="RFC9286"/>.
        </t>
      </section>
      <section anchor="Changes" numbered="true" removeInRFC="false" toc="include" pn="section-1.3">
        <name slugifiedName="name-changes-from-rfc-6487">Changes from RFC 6487</name>
        <t indent="0" pn="section-1.3-1">
          This section summarizes the significant changes between <xref target="RFC6487" format="default" sectionFormat="of" derivedContent="RFC6487"/> and this document.
        </t>
        <ul bare="false" empty="false" indent="3" spacing="normal" pn="section-1.3-2">
          <li pn="section-1.3-2.1">Revision of CRL Number handling.</li>
          <li pn="section-1.3-2.2">Adjustment of step 5 of the Resource Certification Path Validation.</li>
          <li pn="section-1.3-2.3">Integration of Errata 3205 <xref target="Err3205" format="default" sectionFormat="of" derivedContent="Err3205"/>.</li>
        </ul>
      </section>
    </section>
    <section numbered="true" removeInRFC="false" toc="include" pn="section-2">
      <name slugifiedName="name-summary">Summary</name>
      <t indent="0" pn="section-2-1">
        This document clarifies that, in the RPKI, there is exactly one CRL that is appropriate and relevant for determining the revocation status of a given resource certificate.
        It is the unique CRL object that is simultaneously:
      </t>
      <ul bare="false" empty="false" indent="3" spacing="normal" pn="section-2-2">
        <li pn="section-2-2.1">the target of the certificate's CRL Distribution Points extension, and</li>
        <li pn="section-2-2.2">listed in the issuing CA's current manifest fileList and has a matching hash (see <xref target="RFC9286" section="4.2.1" format="default" sectionFormat="of" derivedLink="https://rfc-editor.org/rfc/rfc9286#section-4.2.1" derivedContent="RFC9286"/>).</li>
      </ul>
      <t indent="0" pn="section-2-3">
In particular, a resource certificate cannot be validated without
   consulting the current manifest of the certificate's issuer.
      </t>
    </section>
    <section anchor="Updates" numbered="true" removeInRFC="false" toc="include" pn="section-3">
      <name slugifiedName="name-updates-to-rfc-6487">Updates to RFC 6487</name>
      <section numbered="true" removeInRFC="false" toc="include" pn="section-3.1">
        <name slugifiedName="name-updates-to-section-5">Updates to Section 5</name>
        <t indent="0" pn="section-3.1-1">
        This section updates <xref target="RFC6487" section="5" format="default" sectionFormat="of" derivedLink="https://rfc-editor.org/rfc/rfc6487#section-5" derivedContent="RFC6487"/> as follows:
        </t>
        <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-3.1-2">
          <li pn="section-3.1-2.1">
            <t indent="0" pn="section-3.1-2.1.1">First change:</t>
            <t indent="0" pn="section-3.1-2.1.2">OLD</t>
            <blockquote pn="section-3.1-2.1.3">
              <t indent="0" pn="section-3.1-2.1.3.1">
              Where two or more CRLs are issued by the same CA, the CRL with the highest value of the "CRL Number" field supersedes all other CRLs issued by this CA.
              </t>
            </blockquote>
            <t indent="0" pn="section-3.1-2.1.4">NEW</t>
            <blockquote pn="section-3.1-2.1.5">
              <t indent="0" pn="section-3.1-2.1.5.1">
              Per <xref target="RFC5280" section="5.2.3" format="default" sectionFormat="of" derivedLink="https://rfc-editor.org/rfc/rfc5280#section-5.2.3" derivedContent="RFC5280"/>, CAs issue new CRLs using a monotonically increasing sequence number in the "CRL Number" extension.
              It is <bcp14>RECOMMENDED</bcp14> that the "CRL Number" match the "manifestNumber" of the manifest that will include this CRL (see <xref target="RFC9286" section="4.2.1" format="default" sectionFormat="of" derivedLink="https://rfc-editor.org/rfc/rfc9286#section-4.2.1" derivedContent="RFC9286"/>).
              </t>
            </blockquote>
          </li>
          <li pn="section-3.1-2.2">
            <t indent="0" pn="section-3.1-2.2.1">Second change:</t>
            <t indent="0" pn="section-3.1-2.2.2">OLD</t>
            <blockquote pn="section-3.1-2.2.3">
              <t indent="0" pn="section-3.1-2.2.3.1">
              An RPKI CA <bcp14>MUST</bcp14> include the two extensions, Authority Key Identifier and CRL Number, in every CRL that it issues.
              RPs <bcp14>MUST</bcp14> be prepared to process CRLs with these extensions.
              No other CRL extensions are allowed.
              </t>
            </blockquote>
            <t indent="0" pn="section-3.1-2.2.4">NEW</t>
            <blockquote pn="section-3.1-2.2.5">
              <t indent="0" pn="section-3.1-2.2.5.1">
              An RPKI CA <bcp14>MUST</bcp14> include exactly two extensions in every CRL that it issues: an Authority Key Identifier (AKI) and a CRL Number.
              No other CRL extensions are allowed.
              </t>
              <ul bare="false" empty="false" indent="3" spacing="normal" pn="section-3.1-2.2.5.2">
                <li pn="section-3.1-2.2.5.2.1">RPs <bcp14>MUST</bcp14> process the AKI extension.</li>
                <li pn="section-3.1-2.2.5.2.2">RPs <bcp14>MUST</bcp14> ignore the CRL Number extension except for checking that it is marked as non-critical and contains a non-negative integer less than or equal to 2<sup>159</sup>-1.</li>
              </ul>
            </blockquote>
          </li>
        </ul>
      </section>
      <section numbered="true" removeInRFC="false" toc="include" pn="section-3.2">
        <name slugifiedName="name-update-to-section-72">Update to Section 7.2</name>
        <t indent="0" pn="section-3.2-1">
        This section updates <xref target="RFC6487" section="7.2" format="default" sectionFormat="of" derivedLink="https://rfc-editor.org/rfc/rfc6487#section-7.2" derivedContent="RFC6487"/> as follows:
        </t>
        <t indent="0" pn="section-3.2-2">OLD</t>
        <blockquote pn="section-3.2-3">
          <ol start="5" indent="adaptive" spacing="normal" type="1" pn="section-3.2-3.1">
      <li pn="section-3.2-3.1.1" derivedCounter="5.">The issuer has not revoked the certificate.
        A revoked certificate is identified by the certificate's serial number being listed on the issuer's current CRL, as identified by the CRLDP of the certificate, the CRL is itself valid, and the public key used to verify the signature on the CRL is the same public key used to verify the certificate itself.</li>
          </ol>
        </blockquote>
        <t indent="0" pn="section-3.2-4">NEW</t>
        <blockquote pn="section-3.2-5">
          <ol start="5" indent="adaptive" spacing="normal" type="1" pn="section-3.2-5.1">
      <li pn="section-3.2-5.1.1" derivedCounter="5.">The issuer has not revoked the certificate.
        A revoked certificate is identified by the certificate's serial number being listed on the issuer's current CRL, as identified by the issuer's current manifest and the CRLDP of the certificate.
        The CRL is itself valid and the public key used to verify the signature on the CRL is the same public key used to verify the certificate itself.</li>
          </ol>
        </blockquote>
      </section>
    </section>
    <section anchor="operational" numbered="true" removeInRFC="false" toc="include" pn="section-4">
      <name slugifiedName="name-operational-considerations">Operational Considerations</name>
      <t indent="0" pn="section-4-1">
This document has no additional operational considerations beyond those described in <xref target="RFC6487" section="9" format="default" sectionFormat="of" derivedLink="https://rfc-editor.org/rfc/rfc6487#section-9" derivedContent="RFC6487"/>.
      </t>
    </section>
    <section anchor="security" numbered="true" removeInRFC="false" toc="include" pn="section-5">
      <name slugifiedName="name-security-considerations">Security Considerations</name>
      <t indent="0" pn="section-5-1">
        The Security Considerations of <xref target="RFC3779" format="default" sectionFormat="of" derivedContent="RFC3779"/>, <xref target="RFC5280" format="default" sectionFormat="of" derivedContent="RFC5280"/>, and <xref target="RFC6487" format="default" sectionFormat="of" derivedContent="RFC6487"/> apply to Resource Certificates and CRLs.
      </t>
      <t indent="0" pn="section-5-2">
        This document explicates that, in the RPKI, the CRL listed on the certificate issuer's current manifest is the one relevant and appropriate for determining the revocation status of a resource certificate.
   The hash in the manifest's fileList
   provides a cryptographic guarantee on the Certification Authority's
   intent that this is the most recent CRL and removes possible replay
   vectors.
      </t>
    </section>
    <section anchor="iana" numbered="true" removeInRFC="false" toc="include" pn="section-6">
      <name slugifiedName="name-iana-considerations">IANA Considerations</name>
      <t indent="0" pn="section-6-1">
This document has no IANA actions.
      </t>
    </section>
  </middle>
  <back>
    <references pn="section-7">
      <name slugifiedName="name-references">References</name>
      <references pn="section-7.1">
        <name slugifiedName="name-normative-references">Normative References</name>
        <reference anchor="RFC2119" target="https://www.rfc-editor.org/info/rfc2119" quoteTitle="true" derivedAnchor="RFC2119">
          <front>
            <title>Key words for use in RFCs to Indicate Requirement Levels</title>
            <author fullname="S. Bradner" initials="S." surname="Bradner"/>
            <date month="March" year="1997"/>
            <abstract>
              <t indent="0">In many standards track documents several words are used to signify the requirements in the specification. These words are often capitalized. This document defines these words as they should be interpreted in IETF documents. This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="2119"/>
          <seriesInfo name="DOI" value="10.17487/RFC2119"/>
        </reference>
        <reference anchor="RFC6481" target="https://www.rfc-editor.org/info/rfc6481" quoteTitle="true" derivedAnchor="RFC6481">
          <front>
            <title>A Profile for Resource Certificate Repository Structure</title>
            <author fullname="G. Huston" initials="G." surname="Huston"/>
            <author fullname="R. Loomans" initials="R." surname="Loomans"/>
            <author fullname="G. Michaelson" initials="G." surname="Michaelson"/>
            <date month="February" year="2012"/>
            <abstract>
              <t indent="0">This document defines a profile for the structure of the Resource Public Key Infrastructure (RPKI) distributed repository. Each individual repository publication point is a directory that contains files that correspond to X.509/PKIX Resource Certificates, Certificate Revocation Lists and signed objects. This profile defines the object (file) naming scheme, the contents of repository publication points (directories), and a suggested internal structure of a local repository cache that is intended to facilitate synchronization across a distributed collection of repository publication points and to facilitate certification path construction. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6481"/>
          <seriesInfo name="DOI" value="10.17487/RFC6481"/>
        </reference>
        <reference anchor="RFC6487" target="https://www.rfc-editor.org/info/rfc6487" quoteTitle="true" derivedAnchor="RFC6487">
          <front>
            <title>A Profile for X.509 PKIX Resource Certificates</title>
            <author fullname="G. Huston" initials="G." surname="Huston"/>
            <author fullname="G. Michaelson" initials="G." surname="Michaelson"/>
            <author fullname="R. Loomans" initials="R." surname="Loomans"/>
            <date month="February" year="2012"/>
            <abstract>
              <t indent="0">This document defines a standard profile for X.509 certificates for the purpose of supporting validation of assertions of "right-of-use" of Internet Number Resources (INRs). The certificates issued under this profile are used to convey the issuer's authorization of the subject to be regarded as the current holder of a "right-of-use" of the INRs that are described in the certificate. This document contains the normative specification of Certificate and Certificate Revocation List (CRL) syntax in the Resource Public Key Infrastructure (RPKI). This document also specifies profiles for the format of certificate requests and specifies the Relying Party RPKI certificate path validation procedure. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6487"/>
          <seriesInfo name="DOI" value="10.17487/RFC6487"/>
        </reference>
        <reference anchor="RFC8174" target="https://www.rfc-editor.org/info/rfc8174" quoteTitle="true" derivedAnchor="RFC8174">
          <front>
            <title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
            <author fullname="B. Leiba" initials="B." surname="Leiba"/>
            <date month="May" year="2017"/>
            <abstract>
              <t indent="0">RFC 2119 specifies common key words that may be used in protocol specifications. This document aims to reduce the ambiguity by clarifying that only UPPERCASE usage of the key words have the defined special meanings.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="8174"/>
          <seriesInfo name="DOI" value="10.17487/RFC8174"/>
        </reference>
        <reference anchor="RFC9286" target="https://www.rfc-editor.org/info/rfc9286" quoteTitle="true" derivedAnchor="RFC9286">
          <front>
            <title>Manifests for the Resource Public Key Infrastructure (RPKI)</title>
            <author fullname="R. Austein" initials="R." surname="Austein"/>
            <author fullname="G. Huston" initials="G." surname="Huston"/>
            <author fullname="S. Kent" initials="S." surname="Kent"/>
            <author fullname="M. Lepinski" initials="M." surname="Lepinski"/>
            <date month="June" year="2022"/>
            <abstract>
              <t indent="0">This document defines a "manifest" for use in the Resource Public Key Infrastructure (RPKI). A manifest is a signed object (file) that contains a listing of all the signed objects (files) in the repository publication point (directory) associated with an authority responsible for publishing in the repository. For each certificate, Certificate Revocation List (CRL), or other type of signed objects issued by the authority that are published at this repository publication point, the manifest contains both the name of the file containing the object and a hash of the file content. Manifests are intended to enable a relying party (RP) to detect certain forms of attacks against a repository. Specifically, if an RP checks a manifest's contents against the signed objects retrieved from a repository publication point, then the RP can detect replay attacks, and unauthorized in-flight modification or deletion of signed objects. This document obsoletes RFC 6486.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9286"/>
          <seriesInfo name="DOI" value="10.17487/RFC9286"/>
        </reference>
      </references>
      <references pn="section-7.2">
        <name slugifiedName="name-informative-references">Informative References</name>
        <reference anchor="Err3205" target="https://www.rfc-editor.org/errata/eid3205" quoteTitle="false" derivedAnchor="Err3205">
          <front>
            <title>RFC Errata, Erratum ID 3205</title>
            <author initials="" surname="" fullname="">
              <organization showOnFrontPage="true"/>
            </author>
          </front>
          <seriesInfo name="RFC" value="6487"/>
        </reference>
        <reference anchor="RFC3779" target="https://www.rfc-editor.org/info/rfc3779" quoteTitle="true" derivedAnchor="RFC3779">
          <front>
            <title>X.509 Extensions for IP Addresses and AS Identifiers</title>
            <author fullname="C. Lynn" initials="C." surname="Lynn"/>
            <author fullname="S. Kent" initials="S." surname="Kent"/>
            <author fullname="K. Seo" initials="K." surname="Seo"/>
            <date month="June" year="2004"/>
            <abstract>
              <t indent="0">This document defines two X.509 v3 certificate extensions. The first binds a list of IP address blocks, or prefixes, to the subject of a certificate. The second binds a list of autonomous system identifiers to the subject of a certificate. These extensions may be used to convey the authorization of the subject to use the IP addresses and autonomous system identifiers contained in the extensions. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="3779"/>
          <seriesInfo name="DOI" value="10.17487/RFC3779"/>
        </reference>
        <reference anchor="RFC5280" target="https://www.rfc-editor.org/info/rfc5280" quoteTitle="true" derivedAnchor="RFC5280">
          <front>
            <title>Internet X.509 Public Key Infrastructure Certificate and Certificate Revocation List (CRL) Profile</title>
            <author fullname="D. Cooper" initials="D." surname="Cooper"/>
            <author fullname="S. Santesson" initials="S." surname="Santesson"/>
            <author fullname="S. Farrell" initials="S." surname="Farrell"/>
            <author fullname="S. Boeyen" initials="S." surname="Boeyen"/>
            <author fullname="R. Housley" initials="R." surname="Housley"/>
            <author fullname="W. Polk" initials="W." surname="Polk"/>
            <date month="May" year="2008"/>
            <abstract>
              <t indent="0">This memo profiles the X.509 v3 certificate and X.509 v2 certificate revocation list (CRL) for use in the Internet. An overview of this approach and model is provided as an introduction. The X.509 v3 certificate format is described in detail, with additional information regarding the format and semantics of Internet name forms. Standard certificate extensions are described and two Internet-specific extensions are defined. A set of required certificate extensions is specified. The X.509 v2 CRL format is described in detail along with standard and Internet-specific extensions. An algorithm for X.509 certification path validation is described. An ASN.1 module and examples are provided in the appendices. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5280"/>
          <seriesInfo name="DOI" value="10.17487/RFC5280"/>
        </reference>
      </references>
    </references>
    <section anchor="acknowledgements" numbered="false" removeInRFC="false" toc="include" pn="section-appendix.a">
      <name slugifiedName="name-acknowledgements">Acknowledgements</name>
      <t indent="0" pn="section-appendix.a-1">
      The authors wish to thank <contact fullname="Tom Harrison"/> whose observations prompted this document, <contact fullname="Alberto Leiva"/>, <contact fullname="Tim Bruijnzeels"/>, <contact fullname="Mohamed Boucadair"/>, <contact fullname="Geoff Huston"/>, and the IESG for their valuable comments and feedback.
      </t>
    </section>
    <section anchor="authors-addresses" numbered="false" removeInRFC="false" toc="include" pn="section-appendix.b">
      <name slugifiedName="name-authors-addresses">Authors' Addresses</name>
      <author fullname="Job Snijders" initials="J." surname="Snijders">
        <address>
          <postal>
            <postalLine>Amsterdam</postalLine>
            <postalLine>The Netherlands</postalLine>
          </postal>
          <email>job@sobornost.net</email>
        </address>
      </author>
      <author fullname="Ben Maddison" initials="B." surname="Maddison">
        <organization showOnFrontPage="true">Workonline</organization>
        <address>
          <postal>
            <city>Cape Town</city>
            <country>South Africa</country>
          </postal>
          <email>benm@workonline.africa</email>
        </address>
      </author>
      <author fullname="Theo Buehler" initials="T." surname="Buehler">
        <organization showOnFrontPage="true">OpenBSD</organization>
        <address>
          <postal>
            <country>Switzerland</country>
          </postal>
          <email>tb@openbsd.org</email>
        </address>
      </author>
    </section>
  </back>
</rfc>
