<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE rfc [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">
]>
<?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
<!-- generated by https://github.com/cabo/kramdown-rfc version 1.7.29 (Ruby 3.4.7) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-ietf-acme-openid-federation-00" category="std" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.31.0 -->
  <front>
    <title abbrev="ACME OpenID Federation">Automatic Certificate Management Environment (ACME) with OpenID Federation 1.0</title>
    <seriesInfo name="Internet-Draft" value="draft-ietf-acme-openid-federation-00"/>
    <author initials="G." surname="De Marco" fullname="Giuseppe De Marco">
      <organization>independent</organization>
      <address>
        <email>demarcog83@gmail.com</email>
      </address>
    </author>
    <author initials="B." surname="Pitman" fullname="Brandon Pitman">
      <organization/>
      <address>
        <email>bran@bran.land</email>
      </address>
    </author>
    <author initials="T." surname="Geoghegan" fullname="Tim Geoghegan">
      <organization>ISRG</organization>
      <address>
        <email>timgeog+ietf@gmail.com</email>
      </address>
    </author>
    <author initials="D." surname="Cook" fullname="David Cook">
      <organization>ISRG</organization>
      <address>
        <email>divergentdave@gmail.com</email>
      </address>
    </author>
    <author initials="J.C." surname="Jones" fullname="J.C. Jones">
      <organization>ISRG</organization>
      <address>
        <email>ietf@insufficient.coffee</email>
      </address>
    </author>
    <date year="2025" month="December" day="16"/>
    <area>Security</area>
    <workgroup>Automated Certificate Management Environment</workgroup>
    <keyword>OpenID Federation</keyword>
    <keyword>ACME</keyword>
    <abstract>
      <?line 89?>

<t>The Automatic Certificate Management Environment (ACME) protocol allows server
operators to obtain TLS certificates for their websites, based on a
demonstration of control over the website's domain via a fully-automated
challenge/response protocol.</t>
      <t>OpenID Federation 1.0 defines how to build a trust infrastructure using a
trusted third-party model. It uses a trust evaluation mechanism to attest to the
possession of private keys, protocol specific metadata and miscellaneous
administrative and technical information related to a specific entity.</t>
      <t>This document defines how X.509 certificates associated with a given OpenID
Federation Entity can be issued by an X.509 Certification Authority through the
ACME protocol to the organizations which are part of a federation built on top
of OpenID Federation 1.0.</t>
    </abstract>
    <note removeInRFC="true">
      <name>About This Document</name>
      <t>
        Status information for this document may be found at <eref target="https://datatracker.ietf.org/doc/draft-ietf-acme-openid-federation/"/>.
      </t>
      <t>
        Discussion of this document takes place on the
        Automated Certificate Management Environment Working Group mailing list (<eref target="mailto:acme@ietf.org"/>),
        which is archived at <eref target="https://mailarchive.ietf.org/arch/browse/acme/"/>.
        Subscribe at <eref target="https://www.ietf.org/mailman/listinfo/acme/"/>.
      </t>
      <t>Source for this draft and an issue tracker can be found at
        <eref target="https://github.com/ietf-wg-acme/draft-ietf-acme-openid-federation"/>.</t>
    </note>
  </front>
  <middle>
    <?line 106?>

<section anchor="introduction">
      <name>Introduction</name>
      <t>This document describes extensions to the ACME protocol that integrate with
OpenID Federation 1.0, allowing an ACME server to issue X.509 Certificates
associated with a given OpenID Federation entity. An entity can be a school,
government agency, corporation, automated system, or any participant that
wishes to join the Federation.</t>
      <t>In a multilateral federation, composed of thousands of entities belonging to
different organizations, all the participants adhere to the same regulation or
trust framework. OpenID Federation 1.0 allows each participant to recognize
other participants using a trust evaluation mechanism, with RESTful services and
cryptographic materials.</t>
      <t>Federation members declare what kind Entities they are using a basic OpenID
Federation component called an Entity Configuration, a signed JSON Web Token
published in a well-known resource. This document defines new OpenID Federation
Entity Types for certificate Requestors and Issuers, facilitating automated
discovery of an issuer's ACME API.</t>
      <t>X.509 Certificates can be provided to one or more such entities, without having
pre-established any direct relationship or contract.</t>
      <t>These Certificates are useful for integrating with existing systems and
protocols which require X.509 Certificates. For example, RADIUS (<xref target="RFC2865"/>)
deployments often require Certificates to authenticate clients, or these
Certificates could also be used for TLS <xref target="RFC8446"/>. In order to accommodate a
variety of use cases, this document adds no requirement that CAs conform to any
particular issuance profile, because fields of the X.509 Certificates like the
Common Names, Subject Alternative Names or Key Usages may depend on details of
those existing systems.</t>
      <t>This document extends <xref target="RFC5280"/>, ACME (<xref target="RFC8555"/>) and OpenID Federation
1.0 (<xref target="OPENID-FED"/>) in the following ways:</t>
      <ul spacing="normal">
        <li>
          <t>It defines a new ACME Identifier type called <tt>openid-federation</tt>
(<xref target="identifier-type"/>).</t>
        </li>
        <li>
          <t>It defines a new ACME challenge type called <tt>openid-federation-01</tt>
(<xref target="challenge-type"/>).</t>
        </li>
        <li>
          <t>It defines new OpenID Federation 1.0 Entity Types <tt>acme_issuer</tt>
(<xref target="issuer-metadata"/>) and <tt>acme_requestor</tt> (<xref target="requestor-metadata"/>).</t>
        </li>
        <li>
          <t>It defines how OpenID Federation 1.0 Superior Entities can use Subordinate
Statements to publish X.509 Certificates previously issued with ACME
(<xref target="publish-cert"/>).</t>
        </li>
        <li>
          <t>It defines a new SubjectAlternativeName type <tt>id-on-OpenIdFederationEntityId</tt>
and a corresponding OID so that OpenID Federation 1.0 Entity Identifiers can
be included in X.509 Certificates if an Issuer wishes
(<xref target="openidfed-othername-id"/>).</t>
        </li>
      </ul>
    </section>
    <section anchor="terminology">
      <name>Terminology</name>
      <t>The terms "Federation Entity", "Trust Anchor", "Entity Configuration",
"Subordinate Statement", "Superior Entity", "Immediate Superior Entity",
"Federation Entity Keys", "Federation Entity Discovery", "Trust Mark", "Trust
Chain", and "Resolved Metadata" used in this document are defined in
<xref section="1.2" sectionFormat="of" target="OPENID-FED" relative="#section-1.2"/>.</t>
      <t>The term "Certificate Signing Request" (CSR) used in this document is defined as
a "Certification Request" in <xref target="RFC2986"/>. The term "Certification Authority"
used in this document is defined in <xref target="RFC5280"/>. The terms "ACME Client" and
"ACME Server" are defined in <xref target="RFC8555"/>.</t>
      <t>The specification also defines the following terms:</t>
      <dl>
        <dt>ACME Identifier:</dt>
        <dd>
          <t>An identifier in the sense of <xref target="RFC8555"/>. Some identifier that the ACME
client proves control of to the ACME server.</t>
        </dd>
        <dt>Entity Identifier:</dt>
        <dd>
          <t>A URL that uniquely identifies an Entity in OpenID Federation, as defined in
<xref section="1.2" sectionFormat="of" target="OPENID-FED" relative="#section-1.2-3.4"/>.</t>
        </dd>
        <dt>Requestor:</dt>
        <dd>
          <t>A Federation Entity which wants to request X.509 Certificates. It operates
a web server for hosting its Entity Configuration. It also operates an ACME
client, extended according to this document.</t>
        </dd>
        <dt>Certificate Issuer (or Issuer):</dt>
        <dd>
          <t>A Federation Entity which issues X.509 Certificates. It operates a web server
for hosting its Entity Configuration. It also operates an ACME server,
extended according to this document.</t>
        </dd>
      </dl>
    </section>
    <section anchor="conventions-and-definitions">
      <name>Conventions and Definitions</name>
      <t>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"/> <xref target="RFC8174"/> when, and only when, they
appear in all capitals, as shown here.</t>
      <?line -18?>

</section>
    <section anchor="identifier-type">
      <name>OpenID Federation ACME Identifier</name>
      <t>This document defines a new ACME Identifier type for OpenID Federation Entities,
<tt>openid-federation</tt>, whose value is the <tt>sub</tt> parameter of the Requestor's
Entity Configuration, as defined in <xref section="1.2" sectionFormat="of" target="OPENID-FED" relative="#section-1.2"/>.</t>
      <t>For example, the ACME Identifier corresponding to the example Entity
Configuration in <xref target="requestor-metadata"/> is:</t>
      <artwork><![CDATA[
{"type": "openid-federation", "value": "https://requestor.example.com"}
]]></artwork>
      <t>The <tt>openid-federation</tt> ACME Identifier type <bcp14>MUST NOT</bcp14> be validated except by the
<tt>openid-federation-01</tt> challenge.</t>
    </section>
    <section anchor="challenge-type">
      <name>OpenID Federation Challenge Type</name>
      <t>The OpenID Federation challenge type allows a Requestor to prove control of a
Federation Entity using the trust evaluation mechanism provided by
<xref target="OPENID-FED"/>. The Requestor demonstrates control of a cryptographic public key
published in its OpenID Federation Entity Configuration.</t>
      <t>There are two ways the Certificate Issuer is able to check if a Requestor is
part of the federation:</t>
      <ul spacing="normal">
        <li>
          <t>The Requestor provides a Trust Chain when solving the ACME challenge. This is
<bcp14>RECOMMENDED</bcp14> since it reduces the effort of the Certificate Issuer in
evaluating the trust to the Requestor.</t>
        </li>
        <li>
          <t>The Requestor doesn't provide a Trust Chain in the challenge solution.</t>
        </li>
      </ul>
      <t>The openid-federation-01 ACME challenge object has the following format:</t>
      <t>type (required, string):  The string "openid-federation-01"</t>
      <t>token (required, string):  A random value that uniquely identifies the
    challenge. This value <bcp14>MUST</bcp14> have at least 128 bits of entropy. It <bcp14>MUST NOT</bcp14>
    contain any characters outside the base64url alphabet as described in
    <xref section="5" sectionFormat="of" target="RFC4648"/>. Trailing '=' padding characters <bcp14>MUST</bcp14> be stripped.
    See <xref target="RFC4086"/> for additional information on randomness requirements.</t>
      <t>trustAnchors (optional, array of string):  An array of strings containing the
    Entity Identifiers of the Issuer's Trust Anchors. When solving the
    challenge, the Requestor can construct a Trust Chain from itself to one of
    these Trust Anchors. It is <bcp14>RECOMMENDED</bcp14> that the Issuer includes this field
    to make it easier for the Requestor to construct a Trust Chain.</t>
      <t>A non-normative example of a challenge with <tt>trustAnchors</tt> specified:</t>
      <artwork><![CDATA[
   {
     "type": "openid-federation-01",
     "url": "https://issuer.example.com/acme/chall/prV_B7yEyA4",
     "status": "pending",
     "token": "LoqXcYV8q5ONbJQxbmR7SCTNo3tiAXDfowyjxAjEuX0",
     "trustAnchors": [
       "https://trust-anchor-1.example.com",
       "https://trust-anchor-2.example.com"
     ]
   }
]]></artwork>
      <t>The <tt>openid-federation-01</tt> challenge <bcp14>MUST NOT</bcp14> be used to validate possession of
any ACME Identifiers except <tt>openid-federation</tt> ACME Identifiers.</t>
      <t>The Requestor responds to the challenge with an object with the following
format:</t>
      <t>sig (required, string):  the compact JSON serialization (as described in
    <xref section="7.1" sectionFormat="of" target="RFC7515"/>) of a JWS, signing the key authorization
    encoded in UTF-8.
    The key authorization is computed from the token in the challenge and the
    Requestor's ACME account key, as defined in <xref section="8.1" sectionFormat="of" target="RFC8555"/>.
    The signature must be made by one of the keys published in the Requestor's
    <tt>acme_requestor</tt> metadata in its Entity Configuration, as specified in
    <xref target="requestor-metadata"/>.
    The JWS <bcp14>MUST</bcp14> include a <tt>kid</tt> header parameter corresponding to the key used
    to sign the key authorization and a <tt>typ</tt> header parameter set to
    "signed-acme-challenge+jwt".</t>
      <t>trustChain (optional, array of string):  an array of strings containing signed
    JWTs, representing a Trust Chain from the Requestor to one of the Issuer's
    Trust Anchors (see <xref section="4" sectionFormat="of" target="OPENID-FED" relative="#section-4"/>).
    The Resolved Metadata of the Trust Chain subject <bcp14>MUST</bcp14> contain
    <tt>acme_requestor</tt> metadata that contains the key used to compute <tt>sig</tt>.
    It is <bcp14>RECOMMENDED</bcp14> that the Requestor includes this field.
    If the Requestor cannot construct a Trust Chain to one of the Trust Anchors
    indicated by the Issuer, or if no Trust Anchors were indicated, it <bcp14>MAY</bcp14> use
    some other Trust Anchor that it believes the Issuer trusts.
    If the Requestor cannot construct a Trust Chain to any Trust Anchor, it <bcp14>MAY</bcp14>
    omit the <tt>trustChain</tt> field from the challenge response.</t>
      <t>A non-normative example for an authorization with <tt>trustChain</tt> specified:</t>
      <artwork><![CDATA[
   POST /acme/chall/prV_B7yEyA4
   Host: issuer.example.com
   Content-Type: application/jose+json

   {
     "protected": base64url({
       "alg": "ES256",
       "kid": "https://issuer.example.com/acme/acct/evOfKhNU60wg",
       "nonce": "UQI1PoRi5OuXzxuX7V7wL0",
       "url": "https://issuer.example.com/acme/chall/prV_B7yEyA4"
     }),
     "payload": base64url({
      "sig": "wQAvHlPV1tVxRW0vZUa4BQ...",
      "trustChain": ["eyJhbGciOiJFU...", "eyJhbGci..."]
     }),
     "signature": "Q1bURgJoEslbD1c5...3pYdSMLio57mQNN4"
   }
]]></artwork>
      <t>On receiving a challenge response, the Certificate Issuer verifies that the
Requestor is trusted. If the Requestor did not provide a <tt>trustChain</tt>, the
Issuer <bcp14>MUST</bcp14> perform Federation Entity Discovery (<xref section="10" sectionFormat="of" target="OPENID-FED" relative="#section-10"/>) to obtain a Trust Chain for the Requestor.</t>
      <t>Once it has obtained a Trust Chain, the Issuer evaluates the entity's Resolved
Metadata, and verifies:</t>
      <ul spacing="normal">
        <li>
          <t>That the requested <tt>openid-federation</tt> ACME Identifier value matches the <tt>sub</tt>
parameter of the Requestor's Entity Configuration.</t>
        </li>
        <li>
          <t>That there is a key in the <tt>acme_requestor</tt> metadata (<xref target="requestor-metadata"/>)
of the Requestor's Resolved Metadata with a <tt>kid</tt> matching the <tt>kid</tt> claim in
the challenge response.</t>
        </li>
        <li>
          <t>That the <tt>sig</tt> field of the payload is the compact JSON serialization of a
valid JWS signing the key authorization, using the above public key.</t>
        </li>
      </ul>
      <t>If all of the above checks succeed, then the validation is successful.
Otherwise, it has failed. In either case, the Certificate Issuer responds
according to <xref section="7.5.1" sectionFormat="of" target="RFC8555"/>. If the Issuer fails to verify OpenID
Federation trust, the problem document <bcp14>SHOULD</bcp14> contain a subproblem of type
<tt>urn:ietf:params:acme:error:openIDFederationEntity</tt> constructed as discussed in
<xref target="error-type"/>.</t>
      <t>A non-normative example for the challenge object post-validation:</t>
      <artwork><![CDATA[
   {
     "type": "openid-federation-01",
     "url": "https://issuer.example.com/acme/chall/prV_B7yEyA4",
     "status": "valid",
     "validated": "2024-10-01T12:05:13.72Z",
     "token": "LoqXcYV8q5ONbJQxbmR7SCTNo3tiAXDfowyjxAjEuX0"
   }
]]></artwork>
    </section>
    <section anchor="requestor-metadata">
      <name>Requestor Entity Configuration Metadata</name>
      <t>The Requestor <bcp14>MUST</bcp14> publish in its Entity Configuration an <tt>acme_requestor</tt>
metadata containing a JWK set, according to <xref section="5.2.1" sectionFormat="of" target="OPENID-FED" relative="#section-5.2.1"/>. The keys in the set are used to
respond to ACME challenges.</t>
      <t>The following is a non-normative example of an Entity Configuration including
the <tt>acme_requestor</tt> metadata and using the <tt>jwks</tt> metadata parameter.</t>
      <artwork><![CDATA[
{
  "iss": "https://requestor.example.com",
  "sub": "https://requestor.example.com",
  "iat": 1516239022,
  "exp": 1516298022,
  "jwks": {
    "keys": [
      {
        "kty": "RSA",
        "alg": "RS256",
        "use": "sig",
        "kid": "NzbLsXh8uDCcd-6MNwXF4W_7noWXFZAfHkxZsRGC9Xs",
        "n": "pnXBOusEANuug6ewezb9J_...",
        "e": "AQAB"
      }
    ]
  },
  "metadata": {
    "acme_requestor": {
      "jwks": {
        "keys": [
          {
            "kty": "RSA",
            "kid": "SUdtUndEWVY2cUFDeD...",
            "n": "y_Zc8rByfeRIC9fFZrD...",
            "e": "AQAB"
          },
          {
            "kty": "EC",
            "kid": "MFYycG1raTI4SkZvVDBIMF9CNGw3VEZYUmxQLVN2T21nSWlkd3",
            "crv": "P-256",
            "x": "qAOdPQROkHfZY1daGofOmSNQWpYK8c9G2m2Rbkpbd4c",
            "y": "G_7fF-T8n2vONKM15Mzj4KR_shvHBxKGjMosF6FdoPY"
          }
        ]
      }
    }
  }
}
]]></artwork>
      <t>The Issuer <bcp14>MUST</bcp14> only use the Requestor's <tt>acme_requestor</tt> to validate an ACME
challenge. Therefore, after completing the challenge, the Requestor <bcp14>MAY</bcp14> remove
the <tt>acme_requestor</tt> metadata from its Entity Configuration.</t>
    </section>
    <section anchor="issuer-discovery">
      <name>Issuer Discovery</name>
      <t>The Requestor's ACME client may either be configured to use a particular ACME
server, or to automatically discover a Certificate Issuer through the OpenID
Federation.</t>
      <t>In order to be discoverable, the Issuer <bcp14>MUST</bcp14> publish the entity type
<tt>acme_issuer</tt> in its Entity Configuration, according to <xref target="issuer-metadata"/>.</t>
      <t><xref target="OPENID-FED"/> describes a variety of patterns and generic mechanisms for
discovering Federation Entities. This section describes how Issuers may make
themselves discoverable in a Federation by Requestors.</t>
      <t>TODO: include a specific section reference once
https://github.com/openid/federation/pull/265 lands in OPENID-FED</t>
      <section anchor="issuer-metadata">
        <name>Issuer Metadata</name>
        <t>The Issuer <bcp14>MUST</bcp14> publish its Entity Configuration including the <tt>acme_issuer</tt>
Entity Type metadata within it. The <tt>acme_issuer</tt> metadata contains one
parameter, <tt>directory_url</tt>, which is the URL of the ACME Directory, as defined
in <xref section="7.1.1" sectionFormat="of" target="RFC8555"/>.</t>
        <t>Requestors <bcp14>MUST</bcp14> use the ACME Directory provided in the Issuer's Entity
Configuration for client configuration of ACME endpoints.</t>
        <t>The following is a non-normative example of an Entity Configuration including
the <tt>acme_issuer</tt> metadata:</t>
        <artwork><![CDATA[
{
  "iss": "https://issuer.example.com",
  "sub": "https://issuer.example.com",
  "iat": 1516239022,
  "exp": 1516298022,
  "jwks": {
    "keys": [
      {
        "kty": "RSA",
        "alg": "RS256",
        "use": "sig",
        "kid": "NzbLsXh8uDCcd-6MNwXF4W_7noWXFZAfHkxZsRGC9Xs",
        "n": "pnXBOusEANuug6ewezb9J_...",
        "e": "AQAB"
      }
    ]
  },
  "metadata": {
    "acme_issuer": {
      "directory_url": "https://issuer.example.com/acme/directory"
    }
  }
}
]]></artwork>
      </section>
    </section>
    <section anchor="publish-cert">
      <name>Publication of the Certificates within the Federation</name>
      <t>The X.509 Certificates issued by federation Immediate Superior Entities
pertaining to one or more Federation Entity Keys in control of their
Subordinates <bcp14>MAY</bcp14> publish this information by including the <tt>x5c</tt> member
in each JWK contained within the matching Subordinate Statement. The contents
of the published <tt>x5c</tt> member, including whether it contains a full or
partial Trust Chain, and if so, to what Trust Anchor, are policy decisions
out of scope for this document.</t>
    </section>
    <section anchor="openidfed-othername-id">
      <name>CSR and Certificate Fields</name>
      <t>Depending on the Certificate Issuer's X.509 Certificate profile, the CSR and
X.509 Certificate <bcp14>MAY</bcp14> associate the X.509 Certificate to the Federation Entity
by including the Entity Identifier in the X.509 Certificate.</t>
      <t>To do so, the Issuer includes a Subject Alternative Name extension containing an
<tt>otherName</tt> with a <tt>type-id</tt> of <tt>id-on-OpenIdFederationEntityId</tt>. The value of
the name is an Octet String containing the UTF-8 encoding of the Entity
Identifier (i.e., the URI in the corresponding <tt>openid-federation</tt> ACME
Identifier from the <tt>newOrder</tt> request).</t>
      <artwork><![CDATA[
   id-on-OpenIdFederationEntityId OBJECT IDENTIFIER ::= { id-on XXX }

   OpenIdFederationEntityId ::= UTF8String
]]></artwork>
    </section>
    <section anchor="certificate-lifecycle">
      <name>Certificate Lifecycle</name>
      <t>The identity of the Requestor is verified through proof of possession of a
private key corresponding to a public key attested within a Trust Chain. The
Trust Chain has an expiration time, and its content <bcp14>MUST NOT</bcp14> be trusted past the
expiration time (<xref section="10.2" sectionFormat="of" target="OPENID-FED" relative="#section-10.2"/>).</t>
      <t>The <tt>notBefore</tt> and <tt>notAfter</tt> fields of issued certificates <bcp14>MUST</bcp14> represent
dates before the Trust Chain's expiration time. If the Requestor's newOrder
request (<xref section="7.4" sectionFormat="of" target="RFC8555"/>) contains <tt>notAfter</tt> or <tt>notBefore</tt> fields
that make this impossible, the Certificate Issuer <bcp14>MUST</bcp14> reply with an error of
type <tt>urn:ietf:params:acme:error:openIDFederationCertificateValidity</tt>.</t>
    </section>
    <section anchor="error-type">
      <name>Errors</name>
      <t>This document defines two new error type URIs to be used in problem documents
<xref target="RFC9457"/>, as described in <xref section="6.7" sectionFormat="of" target="RFC8555"/>.</t>
      <t>The error type <tt>urn:ietf:params:acme:error:openIDFederationEntity</tt> is used to
encapsulate any OAuth error code returned while resolving OpenID Federation
Entities. The title of this error type is "OpenID Federation Error". The
<tt>detail</tt> member of the problem document <bcp14>MAY</bcp14> include the description of the
particular OAuth error code that caused the error. The problem document for this
error type <bcp14>SHOULD</bcp14> include an extension member named <tt>error_code</tt>, which <bcp14>MUST</bcp14> be
set to the OAuth error code, taken from the error codes defined in
<xref section="8.9" sectionFormat="of" target="OPENID-FED" relative="#section-8.9"/>.</t>
      <t>The error type <tt>urn:ietf:params:acme:error:openIDFederationCertificateValidity</tt>
is used to indicate that a Certificate could not be issued because of a mismatch
between the requested period of validity and the expiration of the OpenID
Federation Trust Chain.</t>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>The <tt>openid-federation-01</tt> challenge defined in <xref target="challenge-type"/> defends
against replay attacks by malicious ACME servers because the signature in
challenge responses is over an ACME key authorization, which binds the ACME
account key.</t>
      <t>The cryptographic keys in the <tt>acme_requestor</tt> metadata <bcp14>SHOULD NOT</bcp14> be reused
for other purposes than signing responses to <tt>acme-federation-01</tt> challenges.
For example, the same keys <bcp14>SHOULD NOT</bcp14> be reused in the issued X.509 Certificate.
If the keys are reused for other purposes, cross-protocol attacks <bcp14>MUST</bcp14> be
considered.</t>
      <t>The cryptographic keys in the <tt>acme_requestor</tt> metadata <bcp14>SHOULD</bcp14> be rotated
periodically.</t>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <t>IANA is kindly asked to make the following updates to registries:</t>
      <section anchor="acme-registry-group">
        <name>ACME Registry Group</name>
        <t>The following updates are all assignments in the "Automated Certificate
Management Environment (ACME) Protocol" registry group <xref target="IANA-ACME"/>.</t>
        <section anchor="acme-identifier-types">
          <name>ACME Identifier Types</name>
          <t>IANA is asked to add to the "ACME Identifier Types" registry, defined in
<xref section="9.7.7" sectionFormat="of" target="RFC8555"/>, the entry below, as specified here in
<xref target="identifier-type"/>:</t>
          <table>
            <thead>
              <tr>
                <th align="left">Label</th>
                <th align="left">Reference</th>
              </tr>
            </thead>
            <tbody>
              <tr>
                <td align="left">openid-federation</td>
                <td align="left">this document</td>
              </tr>
            </tbody>
          </table>
        </section>
        <section anchor="acme-validation-methods">
          <name>ACME Validation Methods</name>
          <t>IANA is also asked to add to the "ACME Validation Methods" registry, defined
in <xref section="9.7.8" sectionFormat="of" target="RFC8555"/>, the entry below, as specified here
in <xref target="challenge-type"/>:</t>
          <table>
            <thead>
              <tr>
                <th align="left">Label</th>
                <th align="left">Identifier Type</th>
                <th align="left">Reference</th>
              </tr>
            </thead>
            <tbody>
              <tr>
                <td align="left">openid-federation-01</td>
                <td align="left">openid-federation</td>
                <td align="left">this document</td>
              </tr>
            </tbody>
          </table>
        </section>
        <section anchor="acme-error-types">
          <name>ACME Error Types</name>
          <t>IANA is also asked to add to the "ACME Error Types" registry, defined
in <xref section="9.7.4" sectionFormat="of" target="RFC8555"/>, the entry below, as specified here in
<xref target="error-type"/>:</t>
          <table>
            <thead>
              <tr>
                <th align="left">Type</th>
                <th align="left">Description</th>
                <th align="left">Reference</th>
              </tr>
            </thead>
            <tbody>
              <tr>
                <td align="left">openIDFederationEntity</td>
                <td align="left">An error occurred while resolving an OpenID Federation entity</td>
                <td align="left">this document</td>
              </tr>
              <tr>
                <td align="left">openIDFederationCertificateValidity</td>
                <td align="left">A certificate was requested whose validity period is not before the OpenID Federation Trust Chain's expiry</td>
                <td align="left">this document</td>
              </tr>
            </tbody>
          </table>
        </section>
      </section>
      <section anchor="assign-x509-pkix-other-name">
        <name>Assign X.509 PKIX Other Name</name>
        <t>IANA is asked to add to the "PKIX Other Name Forms" registry
(<eref target="https://www.iana.org/assignments/smi-numbers/smi-numbers.xhtml#smi-numbers-1.3.6.1.5.5.7.8">1.3.6.1.5.5.7.8</eref>) the entry below, as
specified here in <xref target="openidfed-othername-id"/></t>
        <table>
          <thead>
            <tr>
              <th align="left">Decimal</th>
              <th align="left">Description</th>
              <th align="left">Reference</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">TBA</td>
              <td align="left">id-on-OpenIdFederationEntityId</td>
              <td align="left">this document</td>
            </tr>
          </tbody>
        </table>
      </section>
    </section>
  </middle>
  <back>
    <references anchor="sec-combined-references">
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative References</name>
        <reference anchor="OPENID-FED" target="https://openid.net/specs/openid-federation-1_0-43.html">
          <front>
            <title>OpenID Federation 1.0 - draft 43</title>
            <author initials="R." surname="Hedberg" fullname="Roland Hedberg">
              <organization/>
            </author>
            <author initials="M. B." surname="Jones" fullname="Michael Jones">
              <organization/>
            </author>
            <author initials="A. Å." surname="Solberg" fullname="Andreas Solberg">
              <organization/>
            </author>
            <author initials="J." surname="Bradley" fullname="John Bradley">
              <organization/>
            </author>
            <author initials="G." surname="De Marco" fullname="Giuseppe De Marco">
              <organization/>
            </author>
            <author initials="V." surname="Dzhuvinov" fullname="Vladimir Dzhuvinov">
              <organization/>
            </author>
            <date year="2025" month="June" day="02"/>
          </front>
        </reference>
        <reference anchor="IANA-ACME" target="https://www.iana.org/assignments/acme">
          <front>
            <title>Automated Certificate Management Environment (ACME) Protocol</title>
            <author>
              <organization>IANA</organization>
            </author>
            <date>n.d.</date>
          </front>
        </reference>
        <reference anchor="IANA-OAUTH" target="https://www.iana.org/assignments/oauth-parameters">
          <front>
            <title>OAuth Parameters</title>
            <author>
              <organization>IANA</organization>
            </author>
            <date>n.d.</date>
          </front>
        </reference>
        <reference anchor="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>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>
        <reference anchor="RFC8555">
          <front>
            <title>Automatic Certificate Management Environment (ACME)</title>
            <author fullname="R. Barnes" initials="R." surname="Barnes"/>
            <author fullname="J. Hoffman-Andrews" initials="J." surname="Hoffman-Andrews"/>
            <author fullname="D. McCarney" initials="D." surname="McCarney"/>
            <author fullname="J. Kasten" initials="J." surname="Kasten"/>
            <date month="March" year="2019"/>
            <abstract>
              <t>Public Key Infrastructure using X.509 (PKIX) certificates are used for a number of purposes, the most significant of which is the authentication of domain names. Thus, certification authorities (CAs) in the Web PKI are trusted to verify that an applicant for a certificate legitimately represents the domain name(s) in the certificate. As of this writing, this verification is done through a collection of ad hoc mechanisms. This document describes a protocol that a CA and an applicant can use to automate the process of verification and certificate issuance. The protocol also provides facilities for other certificate management functions, such as certificate revocation.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8555"/>
          <seriesInfo name="DOI" value="10.17487/RFC8555"/>
        </reference>
        <reference anchor="RFC2986">
          <front>
            <title>PKCS #10: Certification Request Syntax Specification Version 1.7</title>
            <author fullname="M. Nystrom" initials="M." surname="Nystrom"/>
            <author fullname="B. Kaliski" initials="B." surname="Kaliski"/>
            <date month="November" year="2000"/>
            <abstract>
              <t>This memo represents a republication of PKCS #10 v1.7 from RSA Laboratories' Public-Key Cryptography Standards (PKCS) series, and change control is retained within the PKCS process. The body of this document, except for the security considerations section, is taken directly from the PKCS #9 v2.0 or the PKCS #10 v1.7 document. This memo provides information for the Internet community.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="2986"/>
          <seriesInfo name="DOI" value="10.17487/RFC2986"/>
        </reference>
        <reference anchor="RFC2119" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.2119.xml">
          <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>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="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>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="RFC4648">
          <front>
            <title>The Base16, Base32, and Base64 Data Encodings</title>
            <author fullname="S. Josefsson" initials="S." surname="Josefsson"/>
            <date month="October" year="2006"/>
            <abstract>
              <t>This document describes the commonly used base 64, base 32, and base 16 encoding schemes. It also discusses the use of line-feeds in encoded data, use of padding in encoded data, use of non-alphabet characters in encoded data, use of different encoding alphabets, and canonical encodings. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="4648"/>
          <seriesInfo name="DOI" value="10.17487/RFC4648"/>
        </reference>
        <reference anchor="RFC4086" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.4086.xml">
          <front>
            <title>Randomness Requirements for Security</title>
            <author fullname="D. Eastlake 3rd" initials="D." surname="Eastlake 3rd"/>
            <author fullname="J. Schiller" initials="J." surname="Schiller"/>
            <author fullname="S. Crocker" initials="S." surname="Crocker"/>
            <date month="June" year="2005"/>
            <abstract>
              <t>Security systems are built on strong cryptographic algorithms that foil pattern analysis attempts. However, the security of these systems is dependent on generating secret quantities for passwords, cryptographic keys, and similar quantities. The use of pseudo-random processes to generate secret quantities can result in pseudo-security. A sophisticated attacker may find it easier to reproduce the environment that produced the secret quantities and to search the resulting small set of possibilities than to locate the quantities in the whole of the potential number space.</t>
              <t>Choosing random quantities to foil a resourceful and motivated adversary is surprisingly difficult. This document points out many pitfalls in using poor entropy sources or traditional pseudo-random number generation techniques for generating such quantities. It recommends the use of truly random hardware techniques and shows that the existing hardware on many systems can be used for this purpose. It provides suggestions to ameliorate the problem when a hardware solution is not available, and it gives examples of how large such quantities need to be for some applications. 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="106"/>
          <seriesInfo name="RFC" value="4086"/>
          <seriesInfo name="DOI" value="10.17487/RFC4086"/>
        </reference>
        <reference anchor="RFC7515">
          <front>
            <title>JSON Web Signature (JWS)</title>
            <author fullname="M. Jones" initials="M." surname="Jones"/>
            <author fullname="J. Bradley" initials="J." surname="Bradley"/>
            <author fullname="N. Sakimura" initials="N." surname="Sakimura"/>
            <date month="May" year="2015"/>
            <abstract>
              <t>JSON Web Signature (JWS) represents content secured with digital signatures or Message Authentication Codes (MACs) using JSON-based data structures. Cryptographic algorithms and identifiers for use with this specification are described in the separate JSON Web Algorithms (JWA) specification and an IANA registry defined by that specification. Related encryption capabilities are described in the separate JSON Web Encryption (JWE) specification.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7515"/>
          <seriesInfo name="DOI" value="10.17487/RFC7515"/>
        </reference>
        <reference anchor="RFC9457">
          <front>
            <title>Problem Details for HTTP APIs</title>
            <author fullname="M. Nottingham" initials="M." surname="Nottingham"/>
            <author fullname="E. Wilde" initials="E." surname="Wilde"/>
            <author fullname="S. Dalal" initials="S." surname="Dalal"/>
            <date month="July" year="2023"/>
            <abstract>
              <t>This document defines a "problem detail" to carry machine-readable details of errors in HTTP response content to avoid the need to define new error response formats for HTTP APIs.</t>
              <t>This document obsoletes RFC 7807.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9457"/>
          <seriesInfo name="DOI" value="10.17487/RFC9457"/>
        </reference>
      </references>
      <references anchor="sec-informative-references">
        <name>Informative References</name>
        <reference anchor="RFC2865">
          <front>
            <title>Remote Authentication Dial In User Service (RADIUS)</title>
            <author fullname="C. Rigney" initials="C." surname="Rigney"/>
            <author fullname="S. Willens" initials="S." surname="Willens"/>
            <author fullname="A. Rubens" initials="A." surname="Rubens"/>
            <author fullname="W. Simpson" initials="W." surname="Simpson"/>
            <date month="June" year="2000"/>
            <abstract>
              <t>This document describes a protocol for carrying authentication, authorization, and configuration information between a Network Access Server which desires to authenticate its links and a shared Authentication Server. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="2865"/>
          <seriesInfo name="DOI" value="10.17487/RFC2865"/>
        </reference>
        <reference anchor="RFC8446">
          <front>
            <title>The Transport Layer Security (TLS) Protocol Version 1.3</title>
            <author fullname="E. Rescorla" initials="E." surname="Rescorla"/>
            <date month="August" year="2018"/>
            <abstract>
              <t>This document specifies version 1.3 of the Transport Layer Security (TLS) protocol. TLS allows client/server applications to communicate over the Internet in a way that is designed to prevent eavesdropping, tampering, and message forgery.</t>
              <t>This document updates RFCs 5705 and 6066, and obsoletes RFCs 5077, 5246, and 6961. This document also specifies new requirements for TLS 1.2 implementations.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8446"/>
          <seriesInfo name="DOI" value="10.17487/RFC8446"/>
        </reference>
      </references>
    </references>
    <?line 606?>

<section anchor="end-to-end-issuance-flow">
      <name>End-to-end Issuance Flow</name>
      <t>~~~ BEGIN EDNOTE ~~~</t>
      <t>This appendix is to be removed before publication.</t>
      <t>This section contains explanatory material that recaps a lot of RFC 8555. It is
included here for the benefit of readers who are familiar with OpenID Federation
but not with ACME, and want to see at a glance how the whole thing fits
together.</t>
      <t>The following diagram illustrates a successful interaction between Issuer and
Requestor to retrieve an X.509 Certificate. The diagram assumes the Requestor
has already discovered the Issuer, and the Requestor has already created an
ACME account with the Issuer.</t>
      <t>This section is informational and non-normative. The remainder of this document,
<xref target="RFC8555"/> and <xref target="OPENID-FED"/> should be considered correct should this
appendix disagree with any of them.</t>
      <artwork type="ascii-art"><![CDATA[
,-----------------.
|Requestor's      |  ,-----------.
|OpenID Federation|  |Requestor's|               ,------------------------.  ,-----------------------.
| Web Server      |  |ACME Client|               |X.509 Certificate Issuer|  |Federation Trust Anchor|
`--------+--------'  `-----+-----'               `-----------+------------'  `-----------+-----------'
        |                  |           POST /acme/new-order  |                           |
        |                  |--------------------------------->                           |
        |                  |                                 |                           |
        |                  |Authorization at                 |                           |
        |                  |/acme/authz/[authz-id]           |                           |
        |                  |Finalize at                      |                           |
        |                  | /acme/order/[order-id]/finalize |                           |
        |                  |<- - - - - - - - - - - - - - - - -                           |
        |                  |                                 |                           |
        |                  | POST /acme/authz/[authz-id]     |                           |
        |                  |--------------------------------->                           |
        |                  |                                 |                           |
        |                  |  openid-federation-01 Challenge |                           |
        |                  |  at /acme/chall/[chall-id]      |                           |
        |                  |<- - - - - - - - - - - - - - - - -                           |
        |                  |                                 |                           |
        |                  ----.                             |                           |
        |                  |   | Sign challenge token        |                           |
        |                  |   | with private key            |                           |
        |                  <---'                             |                           |
        |                  |                                 |                           |
        |                  | POST /acme/chall/[chall-id]     |                           |
        |                  | with signed                     |                           |
        |                  | token and entity ID             |                           |
        |                  | set to Requestor's ID           |                           |
        |                  |--------------------------------->                           |
        |                  |                                 |                           |
        |                  |      Challenge validation       |                           |
        |                  |      beginning                  |                           |
        |                  |<- - - - - - - - - - - - - - - - -                           |
        |                  |                                 |                           |
        |          GET /.well-known/openid-federation        |                           |
        |<----------------------------------------------------                           |
        |                  |                                 |                           |
        |           Requestor's Entity Configuration         |                           |
        | - - -  - - - - - - - - - - - - - - - - - - - - - - >                           |
        |                  |                                 |                           |
        |                  |           ______________________________________________________
        |                  |           ! OPT  /  If Requestor didn't provide Trust Chain |  !
        |                  |           !_____/               |                           |  !
        |                  |           !                     |  Determine Trust Chain    |  !
        |                  |           !                     |  from Issuer's            |  !
        |                  |           !                     |  Trust Anchor to Requestor|  !
        |                  |           !                     |  (Federation Discovery)   |  !
        |                  |           !                     | <------------------------>|  !
        |                  |           !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~!
        |                  |                                 |                           |
        |                  |                                 |----.                      |
        |                  |                                 |    | Evaluate Trust Chain |
        |                  |                                 |<---'                      |
        |                  |                                 |                           |
        |                  |                                 |----.                      |
        |                  |                                 |    | Check                |
        |                  |                                 |    | Entity Configuration |
        |                  |                                 |    | sub matches          |
        |                  |                                 |    | Entity Identifier    |
        |                  |                                 |<---' in the order         |
        |                  |                                 |                           |
        |                  |                                 |                           |
        |                  |                                 |----.                      |
        |                  |                                 |    | Check challenge      |
        |                  |                                 |    | sig is signed        |
        |                  |                                 |    | with key in          |
        |                  |                                 |<---' Entity Configuration |
        |                  |                                 |                           |
        |  _________________________________________________________________________     |
        |  ! LOOP  /  Poll until authz status                |                      !    |
        |  !      /  is "valid" or "invalid"                 |                      !    |
        |  !_____/         |                                 |                      !    |
        |  !               |    POST-as-GET                  |                      !    |
        |  !               |    /acme/authz/[authz-id]       |                      !    |
        |  !               |--------------------------------->                      !    |
        |  !               |                                 |                      !    |
        |  !               |           Current authz status  |                      !    |
        |  !               |<---------------------------------                      !    |
        |  !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~!    |
        |                  |                                 |                           |
        |                  |                                 |                           |
        |  ___________________________________________________________________________   |
        |  ! OPT  /  If the authz status is "valid"          |                        !  |
        |  !_____/         |                                 |                        !  |
        |  !               | POST                            |                        !  |
        |  !               | /acme/orders/[order-id]/finalize|                        !  |
        |  !               | with CSR                        |                        !  |
        |  !               |--------------------------------->                        !  |
        |  !               |                                 |                        !  |
        |  !               |                                 |----.                   !  |
        |  !               |                                 |    | Check CSR         !  |
        |  !               |                                 |    | validity          !  |
        |  !               |                                 |    | according to      !  |
        |  !               |                                 |    | protocol          !  |
        |  !               |                                 |<---' and CA policy     !  |
        |  !               |                                 |                        !  |
        |  !               |                                 |                        !  |
        |  !               |  Order object with certificate  |                        !  |
        |  !               |  at /acme/cert/[cert-id]        |                        !  |
        |  !               |<- - - - - - - - - - - - - - - - -                        !  |
        |  !               |                                 |                        !  |
        |  !               |       POST /acme/cert/[cert-id] |                        !  |
        |  !               |--------------------------------->                        !  |
        |  !               |                                 |                        !  |
        |  !               |  Newly issued X.509 Certificate |                        !  |
        |  !               |<- - - - - - - - - - - - - - - - -                        !  |
        |  !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~!  |
,--------+--------.  ,-----+-----.               ,-----------+------------.  ,-----------+-----------.
|Requestor's      |  |Requestor's|               |X.509 Certificate Issuer|  |Federation Trust Anchor|
|OpenID Federation|  |ACME Client|               `------------------------'  `-----------------------'
| Web Server      |  `-----------'
`-----------------'
]]></artwork>
      <t>~~~ END EDNOTE ~~~</t>
    </section>
    <section numbered="false" anchor="acknowledgments">
      <name>Acknowledgments</name>
      <t>Aaron Gable and Mike Ounsworth, for early and thorough reviews of this draft.</t>
    </section>
    <section anchor="contributors" numbered="false" toc="include" removeInRFC="false">
      <name>Contributors</name>
      <contact initials="A." surname="Ghani" fullname="Ameer Ghani">
        <organization>ISRG</organization>
        <address>
          <email>inahga@letsencrypt.org</email>
        </address>
      </contact>
    </section>
  </back>
  <!-- ##markdown-source:
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
yMO9A5PPxchsZeAD9Pr8/Zs7R/nOxFCEMnYeRg4NOEnH7AJ3OmdKWHegjChI
p2Y8A0J6NJFJJ6+0yDWqEa751sN4zrm/SOfOgeSRU6bAYCbVvFirwlZr20ZZ
Gvu61QTAfMVqyoUQi9VJ+v7z86fzvXlvMwegNNOZAhgQ5RTJMH+DexlevJa/
fww/vd/+fev4qP/q7df++OTp6c7ZkXysRe/j7kDO5l++9r7sZR/Xis7eNFtd
+qurQsgxxQYdhi066yVToL288UapsWn7G/y13IQoa/2S6YBBBC1zE4KW0sUE
ZEbF/FDOyLiFqaKseC64yRpheQKzwiMscWIaf5bkNMnltBLDZkGLEOV4wkJt
MkMKU1Y2S0cfLhdqT4N1J9aebq1jaBr5+NWH0zbmm5xSAwfO1EZYyKYcKQml
Dfe9O9vvbBsRd9bUHvYr4JmBzYa7HXUlapCaqsNEuxUnnkltaA2+aJZoGGKx
Ob1dTMzFcBxqMC2GBQhj2Nd9Tscs4mBAGqnj5qtoySKqmvcArhZqzmsJrAm1
0AfIRUGxJk2Gd4H1qw+nhoutYKOMnl+I6JyOOItMEtS6Io12P6wHML6TgUCE
5oW1YeFzPZ80AFccTBtihAnmI03dYb52P36Z6ZZTT0a2L1dObLlyMoPggK8+
nKk2Tfkk5Qq2GyZWa0qkJsq9VXV6zFDVVyn0oULF7Phn83bRq80WxKjdGtUC
tm5cH0llk1G4mHaiNzAT6jbbVJWW06gq3FX0XInhuUFmiXr0bO26hrS9B3XF
nUi9UHeXaVwiqy0ojdBojqyTZpcBs5NiABnC8lLMwJvIO7VBVR/2PsF8EZyC
sKjJ/Pv9bCkIbOhY8Km14K01gNyo7jw90An+WA4nU6E5Foa05wXPnxt6FhxZ
yDZXS7XElECTMKlsS8+gsEM0mRNvjk/P6AIrAN6/lEp3ad1wgHc7MtE80Z0z
LGlmk0lsY92rX6TiP35RUKjjmSyQ6+ah5lGrW5jTDy9zfc7iIRgUe6cbW088
NX8hotsYMSwM9SqfHg9+Hh29e7I2G3ogEpmEaC29e3uw/kaeiK3j7OMfX7OP
T98/nb1e81re2WIyEK4fORNnwuaxZM1TBUkIo8ze9qYv4zfv1/X7rycf1qa/
vGObz98GQZAj1CrWD+ykFp+/GvVfhOJYvNp/hw1p/gx+/lZFI1deMN7b9f67
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

-->

</rfc>
